onnxruntime 0.5.0 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dc2115e3b32ec7d1d0ab2da64edfb5bf2ebf24ecc6ad705d4a53ae4793e60412
4
- data.tar.gz: 5e53efd5de12ed5ac06a7e4472c8ee043ffbbba9c82b5f49e340f6a70a4dfcdf
3
+ metadata.gz: 145d74e8ddfcceb9ae93f0e9d0a257e7fb771c6800082d0056dc272fb3dd1500
4
+ data.tar.gz: 9393b4ddeab806a53f6e40081acbf784a36446882887616a8de404264c9951c1
5
5
  SHA512:
6
- metadata.gz: 93f83646d23298213b971ea7462ce4e5cc970c49d7572b646a6f8003b05689a5a232a3acc05b9cacfbabf65534c046d687eecc80fbf5583b2691391d30b54872
7
- data.tar.gz: fc0349312d70944a2169302e8b9f1f70f255e29b60c523f0ba1a688ac162cc230636f9ef333d6ac032d855d9387d88234181a69edade6407bde027050972a2da
6
+ metadata.gz: dbe64b715968fde3147507297f380aaaa584118880a684d8dc169b50ceff2220cb6b51e204f2750217960b0b829cd4890d14a696fcda93fed317422547bdb4a4
7
+ data.tar.gz: c64411c0287abb9084fda81584dffdc66b72e21c82fe3807472b41bc74aa08aa66f5bc375e266a62a1e50b1ecfea477fc6334f2d5ab0e068caef823f5e644dee
data/CHANGELOG.md CHANGED
@@ -1,3 +1,29 @@
1
+ ## 0.6.2 (2021-06-03)
2
+
3
+ - Updated ONNX Runtime to 1.8.0
4
+
5
+ ## 0.6.1 (2021-05-17)
6
+
7
+ - Fixed memory errors
8
+
9
+ ## 0.6.0 (2021-03-14)
10
+
11
+ - Updated ONNX Runtime to 1.7.0
12
+ - OpenMP is no longer required
13
+
14
+ ## 0.5.2 (2020-12-27)
15
+
16
+ - Updated ONNX Runtime to 1.6.0
17
+ - Fixed error with `execution_mode` option
18
+ - Fixed error with `bool` input
19
+
20
+ ## 0.5.1 (2020-11-01)
21
+
22
+ - Updated ONNX Runtime to 1.5.2
23
+ - Added support for string output
24
+ - Added `output_type` option
25
+ - Improved performance for Numo array inputs
26
+
1
27
  ## 0.5.0 (2020-10-01)
2
28
 
3
29
  - Updated ONNX Runtime to 1.5.1
data/LICENSE.txt CHANGED
@@ -1,7 +1,7 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2018 Microsoft Corporation
4
- Copyright (c) 2019-2020 Andrew Kane
3
+ Copyright (c) Microsoft Corporation
4
+ Copyright (c) 2019-2021 Andrew Kane
5
5
 
6
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Check out [an example](https://ankane.org/tensorflow-ruby)
6
6
 
7
- [![Build Status](https://travis-ci.org/ankane/onnxruntime.svg?branch=master)](https://travis-ci.org/ankane/onnxruntime) [![Build status](https://ci.appveyor.com/api/projects/status/f2bq6ruqjf4jx671/branch/master?svg=true)](https://ci.appveyor.com/project/ankane/onnxruntime/branch/master)
7
+ [![Build Status](https://github.com/ankane/onnxruntime/workflows/build/badge.svg?branch=master)](https://github.com/ankane/onnxruntime/actions)
8
8
 
9
9
  ## Installation
10
10
 
@@ -14,12 +14,6 @@ Add this line to your application’s Gemfile:
14
14
  gem 'onnxruntime'
15
15
  ```
16
16
 
17
- On Mac, also install OpenMP:
18
-
19
- ```sh
20
- brew install libomp
21
- ```
22
-
23
17
  ## Getting Started
24
18
 
25
19
  Load a model and make predictions
@@ -87,7 +81,8 @@ model.predict(input_feed, {
87
81
  log_severity_level: 2,
88
82
  log_verbosity_level: 0,
89
83
  logid: nil,
90
- terminate: false
84
+ terminate: false,
85
+ output_type: :ruby # :ruby or :numo
91
86
  })
92
87
  ```
93
88
 
@@ -34,7 +34,7 @@ module OnnxRuntime
34
34
  :CreateSessionOptions, callback(%i[pointer], :pointer),
35
35
  :SetOptimizedModelFilePath, callback(%i[pointer pointer], :pointer),
36
36
  :CloneSessionOptions, callback(%i[], :pointer),
37
- :SetSessionExecutionMode, callback(%i[], :pointer),
37
+ :SetSessionExecutionMode, callback(%i[pointer int], :pointer),
38
38
  :EnableProfiling, callback(%i[pointer pointer], :pointer),
39
39
  :DisableProfiling, callback(%i[pointer], :pointer),
40
40
  :EnableMemPattern, callback(%i[pointer], :pointer),
@@ -74,8 +74,8 @@ module OnnxRuntime
74
74
  :IsTensor, callback(%i[], :pointer),
75
75
  :GetTensorMutableData, callback(%i[pointer pointer], :pointer),
76
76
  :FillStringTensor, callback(%i[pointer pointer size_t], :pointer),
77
- :GetStringTensorDataLength, callback(%i[], :pointer),
78
- :GetStringTensorContent, callback(%i[], :pointer),
77
+ :GetStringTensorDataLength, callback(%i[pointer pointer], :pointer),
78
+ :GetStringTensorContent, callback(%i[pointer pointer size_t pointer size_t], :pointer),
79
79
  :CastTypeInfoToTensorInfo, callback(%i[pointer pointer], :pointer),
80
80
  :GetOnnxTypeFromTypeInfo, callback(%i[pointer pointer], :pointer),
81
81
  :CreateTensorTypeAndShapeInfo, callback(%i[], :pointer),
@@ -80,14 +80,17 @@ module OnnxRuntime
80
80
  end
81
81
 
82
82
  # TODO support logid
83
- def run(output_names, input_feed, log_severity_level: nil, log_verbosity_level: nil, logid: nil, terminate: nil)
84
- input_tensor = create_input_tensor(input_feed)
83
+ def run(output_names, input_feed, log_severity_level: nil, log_verbosity_level: nil, logid: nil, terminate: nil, output_type: :ruby)
84
+ # pointer references
85
+ refs = []
86
+
87
+ input_tensor = create_input_tensor(input_feed, refs)
85
88
 
86
89
  output_names ||= @outputs.map { |v| v[:name] }
87
90
 
88
91
  output_tensor = ::FFI::MemoryPointer.new(:pointer, outputs.size)
89
- input_node_names = create_node_names(input_feed.keys.map(&:to_s))
90
- output_node_names = create_node_names(output_names.map(&:to_s))
92
+ input_node_names = create_node_names(input_feed.keys.map(&:to_s), refs)
93
+ output_node_names = create_node_names(output_names.map(&:to_s), refs)
91
94
 
92
95
  # run options
93
96
  run_options = ::FFI::MemoryPointer.new(:pointer)
@@ -100,7 +103,7 @@ module OnnxRuntime
100
103
  check_status api[:Run].call(read_pointer, run_options.read_pointer, input_node_names, input_tensor, input_feed.size, output_node_names, output_names.size, output_tensor)
101
104
 
102
105
  output_names.size.times.map do |i|
103
- create_from_onnx_value(output_tensor[i].read_pointer)
106
+ create_from_onnx_value(output_tensor[i].read_pointer, output_type)
104
107
  end
105
108
  ensure
106
109
  release :RunOptions, run_options
@@ -174,24 +177,25 @@ module OnnxRuntime
174
177
 
175
178
  private
176
179
 
177
- def create_input_tensor(input_feed)
180
+ def create_input_tensor(input_feed, refs)
178
181
  allocator_info = ::FFI::MemoryPointer.new(:pointer)
179
182
  check_status api[:CreateCpuMemoryInfo].call(1, 0, allocator_info)
180
183
  input_tensor = ::FFI::MemoryPointer.new(:pointer, input_feed.size)
181
184
 
182
185
  input_feed.each_with_index do |(input_name, input), idx|
183
- input = input.to_a unless input.is_a?(Array)
186
+ if numo_array?(input)
187
+ shape = input.shape
188
+ else
189
+ input = input.to_a unless input.is_a?(Array)
184
190
 
185
- shape = []
186
- s = input
187
- while s.is_a?(Array)
188
- shape << s.size
189
- s = s.first
191
+ shape = []
192
+ s = input
193
+ while s.is_a?(Array)
194
+ shape << s.size
195
+ s = s.first
196
+ end
190
197
  end
191
198
 
192
- flat_input = input.flatten
193
- input_tensor_size = flat_input.size
194
-
195
199
  # TODO support more types
196
200
  inp = @inputs.find { |i| i[:name] == input_name.to_s }
197
201
  raise Error, "Unknown input: #{input_name}" unless inp
@@ -200,41 +204,64 @@ module OnnxRuntime
200
204
  input_node_dims.write_array_of_int64(shape)
201
205
 
202
206
  if inp[:type] == "tensor(string)"
203
- input_tensor_values = ::FFI::MemoryPointer.new(:pointer, input_tensor_size)
204
- input_tensor_values.write_array_of_pointer(flat_input.map { |v| ::FFI::MemoryPointer.from_string(v) })
207
+ str_ptrs =
208
+ if numo_array?(input)
209
+ input.size.times.map { |i| ::FFI::MemoryPointer.from_string(input[i]) }
210
+ else
211
+ input.flatten.map { |v| ::FFI::MemoryPointer.from_string(v) }
212
+ end
213
+
214
+ input_tensor_values = ::FFI::MemoryPointer.new(:pointer, str_ptrs.size)
215
+ input_tensor_values.write_array_of_pointer(str_ptrs)
216
+
205
217
  type_enum = FFI::TensorElementDataType[:string]
206
218
  check_status api[:CreateTensorAsOrtValue].call(@allocator.read_pointer, input_node_dims, shape.size, type_enum, input_tensor[idx])
207
- check_status api[:FillStringTensor].call(input_tensor[idx].read_pointer, input_tensor_values, flat_input.size)
219
+ check_status api[:FillStringTensor].call(input_tensor[idx].read_pointer, input_tensor_values, str_ptrs.size)
220
+
221
+ refs << str_ptrs
208
222
  else
209
- tensor_types = [:float, :uint8, :int8, :uint16, :int16, :int32, :int64, :bool, :double, :uint32, :uint64].map { |v| ["tensor(#{v})", v] }.to_h
210
223
  tensor_type = tensor_types[inp[:type]]
211
224
 
212
225
  if tensor_type
213
- input_tensor_values = ::FFI::MemoryPointer.new(tensor_type, input_tensor_size)
214
- if tensor_type == :bool
215
- tensor_type = :uchar
216
- flat_input = flat_input.map { |v| v ? 1 : 0 }
226
+ if numo_array?(input)
227
+ input_tensor_values = input.cast_to(numo_types[tensor_type]).to_binary
228
+ else
229
+ flat_input = input.flatten.to_a
230
+ input_tensor_values = ::FFI::MemoryPointer.new(tensor_type, flat_input.size)
231
+ if tensor_type == :bool
232
+ input_tensor_values.write_array_of_uint8(flat_input.map { |v| v ? 1 : 0 })
233
+ else
234
+ input_tensor_values.send("write_array_of_#{tensor_type}", flat_input)
235
+ end
217
236
  end
218
- input_tensor_values.send("write_array_of_#{tensor_type}", flat_input)
237
+
219
238
  type_enum = FFI::TensorElementDataType[tensor_type]
220
239
  else
221
240
  unsupported_type("input", inp[:type])
222
241
  end
223
242
 
224
243
  check_status api[:CreateTensorWithDataAsOrtValue].call(allocator_info.read_pointer, input_tensor_values, input_tensor_values.size, input_node_dims, shape.size, type_enum, input_tensor[idx])
244
+
245
+ refs << input_node_dims
246
+ refs << input_tensor_values
225
247
  end
226
248
  end
227
249
 
250
+ refs << allocator_info
251
+
228
252
  input_tensor
229
253
  end
230
254
 
231
- def create_node_names(names)
255
+ def create_node_names(names, refs)
256
+ str_ptrs = names.map { |v| ::FFI::MemoryPointer.from_string(v) }
257
+ refs << str_ptrs
258
+
232
259
  ptr = ::FFI::MemoryPointer.new(:pointer, names.size)
233
- ptr.write_array_of_pointer(names.map { |v| ::FFI::MemoryPointer.from_string(v) })
260
+ ptr.write_array_of_pointer(str_ptrs)
234
261
  ptr
235
262
  end
236
263
 
237
- def create_from_onnx_value(out_ptr)
264
+ def create_from_onnx_value(out_ptr, output_type)
238
265
  out_type = ::FFI::MemoryPointer.new(:int)
239
266
  check_status api[:GetValueType].call(out_ptr, out_type)
240
267
  type = FFI::OnnxType[out_type.read_int]
@@ -257,17 +284,36 @@ module OnnxRuntime
257
284
 
258
285
  # TODO support more types
259
286
  type = FFI::TensorElementDataType[type]
260
- arr =
287
+
288
+ case output_type
289
+ when :numo
261
290
  case type
262
- when :float, :uint8, :int8, :uint16, :int16, :int32, :int64, :double, :uint32, :uint64
263
- tensor_data.read_pointer.send("read_array_of_#{type}", output_tensor_size)
264
- when :bool
265
- tensor_data.read_pointer.read_array_of_uchar(output_tensor_size).map { |v| v == 1 }
291
+ when :string
292
+ result = Numo::RObject.new(shape)
293
+ result.allocate
294
+ create_strings_from_onnx_value(out_ptr, output_tensor_size, result)
266
295
  else
267
- unsupported_type("element", type)
296
+ numo_type = numo_types[type]
297
+ unsupported_type("element", type) unless numo_type
298
+ numo_type.from_binary(tensor_data.read_pointer.read_bytes(output_tensor_size * numo_type::ELEMENT_BYTE_SIZE), shape)
268
299
  end
300
+ when :ruby
301
+ arr =
302
+ case type
303
+ when :float, :uint8, :int8, :uint16, :int16, :int32, :int64, :double, :uint32, :uint64
304
+ tensor_data.read_pointer.send("read_array_of_#{type}", output_tensor_size)
305
+ when :bool
306
+ tensor_data.read_pointer.read_array_of_uint8(output_tensor_size).map { |v| v == 1 }
307
+ when :string
308
+ create_strings_from_onnx_value(out_ptr, output_tensor_size, [])
309
+ else
310
+ unsupported_type("element", type)
311
+ end
269
312
 
270
- Utils.reshape(arr, shape)
313
+ Utils.reshape(arr, shape)
314
+ else
315
+ raise ArgumentError, "Invalid output type: #{output_type}"
316
+ end
271
317
  when :sequence
272
318
  out = ::FFI::MemoryPointer.new(:size_t)
273
319
  check_status api[:GetValueCount].call(out_ptr, out)
@@ -275,7 +321,7 @@ module OnnxRuntime
275
321
  out.read(:size_t).times.map do |i|
276
322
  seq = ::FFI::MemoryPointer.new(:pointer)
277
323
  check_status api[:GetValue].call(out_ptr, i, @allocator.read_pointer, seq)
278
- create_from_onnx_value(seq.read_pointer)
324
+ create_from_onnx_value(seq.read_pointer, output_type)
279
325
  end
280
326
  when :map
281
327
  type_shape = ::FFI::MemoryPointer.new(:pointer)
@@ -294,8 +340,8 @@ module OnnxRuntime
294
340
  case elem_type
295
341
  when :int64
296
342
  ret = {}
297
- keys = create_from_onnx_value(map_keys.read_pointer)
298
- values = create_from_onnx_value(map_values.read_pointer)
343
+ keys = create_from_onnx_value(map_keys.read_pointer, output_type)
344
+ values = create_from_onnx_value(map_values.read_pointer, output_type)
299
345
  keys.zip(values).each do |k, v|
300
346
  ret[k] = v
301
347
  end
@@ -308,6 +354,23 @@ module OnnxRuntime
308
354
  end
309
355
  end
310
356
 
357
+ def create_strings_from_onnx_value(out_ptr, output_tensor_size, result)
358
+ len = ::FFI::MemoryPointer.new(:size_t)
359
+ check_status api[:GetStringTensorDataLength].call(out_ptr, len)
360
+
361
+ s_len = len.read(:size_t)
362
+ s = ::FFI::MemoryPointer.new(:uchar, s_len)
363
+ offsets = ::FFI::MemoryPointer.new(:size_t, output_tensor_size)
364
+ check_status api[:GetStringTensorContent].call(out_ptr, s, s_len, offsets, output_tensor_size)
365
+
366
+ offsets = output_tensor_size.times.map { |i| offsets[i].read(:size_t) }
367
+ offsets << s_len
368
+ output_tensor_size.times do |i|
369
+ result[i] = s.get_bytes(offsets[i], offsets[i + 1] - offsets[i])
370
+ end
371
+ result
372
+ end
373
+
311
374
  def read_pointer
312
375
  @session.read_pointer
313
376
  end
@@ -390,6 +453,30 @@ module OnnxRuntime
390
453
  raise Error, "Unsupported #{name} type: #{type}"
391
454
  end
392
455
 
456
+ def tensor_types
457
+ @tensor_types ||= [:float, :uint8, :int8, :uint16, :int16, :int32, :int64, :bool, :double, :uint32, :uint64].map { |v| ["tensor(#{v})", v] }.to_h
458
+ end
459
+
460
+ def numo_array?(obj)
461
+ defined?(Numo::NArray) && obj.is_a?(Numo::NArray)
462
+ end
463
+
464
+ def numo_types
465
+ @numo_types ||= {
466
+ float: Numo::SFloat,
467
+ uint8: Numo::UInt8,
468
+ int8: Numo::Int8,
469
+ uint16: Numo::UInt16,
470
+ int16: Numo::Int16,
471
+ int32: Numo::Int32,
472
+ int64: Numo::Int64,
473
+ bool: Numo::UInt8,
474
+ double: Numo::DFloat,
475
+ uint32: Numo::UInt32,
476
+ uint64: Numo::UInt64
477
+ }
478
+ end
479
+
393
480
  def api
394
481
  self.class.api
395
482
  end
@@ -1,3 +1,3 @@
1
1
  module OnnxRuntime
2
- VERSION = "0.5.0"
2
+ VERSION = "0.6.2"
3
3
  end
data/vendor/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2018 Microsoft Corporation
3
+ Copyright (c) Microsoft Corporation
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -848,22 +848,16 @@ THE POSSIBILITY OF SUCH DAMAGE.
848
848
 
849
849
  _____
850
850
 
851
- Microsoft/GSL
851
+ gsl-lite
852
852
 
853
+ gsl-lite is based on GSL: Guidelines Support Library.
854
+ For more information see https://github.com/martinmoene/gsl-lite
855
+
856
+ Copyright (c) 2015 Martin Moene
853
857
  Copyright (c) 2015 Microsoft Corporation. All rights reserved.
854
858
 
855
859
  This code is licensed under the MIT License (MIT).
856
860
 
857
- Permission is hereby granted, free of charge, to any person obtaining a copy
858
- of this software and associated documentation files (the "Software"), to deal
859
- in the Software without restriction, including without limitation the rights
860
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
861
- of the Software, and to permit persons to whom the Software is furnished to do
862
- so, subject to the following conditions:
863
-
864
- The above copyright notice and this permission notice shall be included in all
865
- copies or substantial portions of the Software.
866
-
867
861
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
868
862
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
869
863
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -1657,7 +1651,7 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
1657
1651
  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1658
1652
  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1659
1653
 
1660
- ____
1654
+ _____
1661
1655
 
1662
1656
  Distributed Machine Learning Common Codebase
1663
1657
 
@@ -1881,7 +1875,7 @@ DLPack: Open In Memory Tensor Structure
1881
1875
  See the License for the specific language governing permissions and
1882
1876
  limitations under the License.
1883
1877
 
1884
- ____
1878
+ _____
1885
1879
 
1886
1880
  HowardHinnant/date
1887
1881
 
@@ -1917,7 +1911,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1917
1911
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1918
1912
  SOFTWARE.
1919
1913
 
1920
- ____
1914
+ _____
1921
1915
 
1922
1916
  TVM Open Deep Learning Compiler Stack
1923
1917
 
@@ -2174,38 +2168,6 @@ See the [community structure document](http://docs.tvm.ai/contribute/community.h
2174
2168
 
2175
2169
  _____
2176
2170
 
2177
- jemalloc
2178
-
2179
- Unless otherwise specified, files in the jemalloc source distribution are
2180
- subject to the following license:
2181
- --------------------------------------------------------------------------------
2182
- Copyright (C) 2002-2018 Jason Evans <jasone@canonware.com>.
2183
- All rights reserved.
2184
- Copyright (C) 2007-2012 Mozilla Foundation. All rights reserved.
2185
- Copyright (C) 2009-2018 Facebook, Inc. All rights reserved.
2186
-
2187
- Redistribution and use in source and binary forms, with or without
2188
- modification, are permitted provided that the following conditions are met:
2189
- 1. Redistributions of source code must retain the above copyright notice(s),
2190
- this list of conditions and the following disclaimer.
2191
- 2. Redistributions in binary form must reproduce the above copyright notice(s),
2192
- this list of conditions and the following disclaimer in the documentation
2193
- and/or other materials provided with the distribution.
2194
-
2195
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY EXPRESS
2196
- OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
2197
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
2198
- EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
2199
- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
2200
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
2201
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
2202
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
2203
- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
2204
- ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2205
- --------------------------------------------------------------------------------
2206
-
2207
- ____
2208
-
2209
2171
  FreeBSD: getopt.c file
2210
2172
 
2211
2173
  Copyright (c) 1987, 1993, 1994
@@ -2335,222 +2297,6 @@ DAMAGE.
2335
2297
 
2336
2298
  _____
2337
2299
 
2338
- google/gemmlowp
2339
-
2340
- Copyright 2016 The Gemmlowp Authors. All rights reserved.
2341
-
2342
- Authors
2343
- Google Inc.
2344
- Intel Corporation
2345
- ARM Ltd.
2346
- Silk Labs Inc.
2347
- MIPS Tech LLC
2348
- Wave Computing Inc.
2349
-
2350
- Apache License
2351
- Version 2.0, January 2004
2352
- http://www.apache.org/licenses/
2353
-
2354
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
2355
-
2356
- 1. Definitions.
2357
-
2358
- "License" shall mean the terms and conditions for use, reproduction,
2359
- and distribution as defined by Sections 1 through 9 of this document.
2360
-
2361
- "Licensor" shall mean the copyright owner or entity authorized by
2362
- the copyright owner that is granting the License.
2363
-
2364
- "Legal Entity" shall mean the union of the acting entity and all
2365
- other entities that control, are controlled by, or are under common
2366
- control with that entity. For the purposes of this definition,
2367
- "control" means (i) the power, direct or indirect, to cause the
2368
- direction or management of such entity, whether by contract or
2369
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
2370
- outstanding shares, or (iii) beneficial ownership of such entity.
2371
-
2372
- "You" (or "Your") shall mean an individual or Legal Entity
2373
- exercising permissions granted by this License.
2374
-
2375
- "Source" form shall mean the preferred form for making modifications,
2376
- including but not limited to software source code, documentation
2377
- source, and configuration files.
2378
-
2379
- "Object" form shall mean any form resulting from mechanical
2380
- transformation or translation of a Source form, including but
2381
- not limited to compiled object code, generated documentation,
2382
- and conversions to other media types.
2383
-
2384
- "Work" shall mean the work of authorship, whether in Source or
2385
- Object form, made available under the License, as indicated by a
2386
- copyright notice that is included in or attached to the work
2387
- (an example is provided in the Appendix below).
2388
-
2389
- "Derivative Works" shall mean any work, whether in Source or Object
2390
- form, that is based on (or derived from) the Work and for which the
2391
- editorial revisions, annotations, elaborations, or other modifications
2392
- represent, as a whole, an original work of authorship. For the purposes
2393
- of this License, Derivative Works shall not include works that remain
2394
- separable from, or merely link (or bind by name) to the interfaces of,
2395
- the Work and Derivative Works thereof.
2396
-
2397
- "Contribution" shall mean any work of authorship, including
2398
- the original version of the Work and any modifications or additions
2399
- to that Work or Derivative Works thereof, that is intentionally
2400
- submitted to Licensor for inclusion in the Work by the copyright owner
2401
- or by an individual or Legal Entity authorized to submit on behalf of
2402
- the copyright owner. For the purposes of this definition, "submitted"
2403
- means any form of electronic, verbal, or written communication sent
2404
- to the Licensor or its representatives, including but not limited to
2405
- communication on electronic mailing lists, source code control systems,
2406
- and issue tracking systems that are managed by, or on behalf of, the
2407
- Licensor for the purpose of discussing and improving the Work, but
2408
- excluding communication that is conspicuously marked or otherwise
2409
- designated in writing by the copyright owner as "Not a Contribution."
2410
-
2411
- "Contributor" shall mean Licensor and any individual or Legal Entity
2412
- on behalf of whom a Contribution has been received by Licensor and
2413
- subsequently incorporated within the Work.
2414
-
2415
- 2. Grant of Copyright License. Subject to the terms and conditions of
2416
- this License, each Contributor hereby grants to You a perpetual,
2417
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
2418
- copyright license to reproduce, prepare Derivative Works of,
2419
- publicly display, publicly perform, sublicense, and distribute the
2420
- Work and such Derivative Works in Source or Object form.
2421
-
2422
- 3. Grant of Patent License. Subject to the terms and conditions of
2423
- this License, each Contributor hereby grants to You a perpetual,
2424
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
2425
- (except as stated in this section) patent license to make, have made,
2426
- use, offer to sell, sell, import, and otherwise transfer the Work,
2427
- where such license applies only to those patent claims licensable
2428
- by such Contributor that are necessarily infringed by their
2429
- Contribution(s) alone or by combination of their Contribution(s)
2430
- with the Work to which such Contribution(s) was submitted. If You
2431
- institute patent litigation against any entity (including a
2432
- cross-claim or counterclaim in a lawsuit) alleging that the Work
2433
- or a Contribution incorporated within the Work constitutes direct
2434
- or contributory patent infringement, then any patent licenses
2435
- granted to You under this License for that Work shall terminate
2436
- as of the date such litigation is filed.
2437
-
2438
- 4. Redistribution. You may reproduce and distribute copies of the
2439
- Work or Derivative Works thereof in any medium, with or without
2440
- modifications, and in Source or Object form, provided that You
2441
- meet the following conditions:
2442
-
2443
- (a) You must give any other recipients of the Work or
2444
- Derivative Works a copy of this License; and
2445
-
2446
- (b) You must cause any modified files to carry prominent notices
2447
- stating that You changed the files; and
2448
-
2449
- (c) You must retain, in the Source form of any Derivative Works
2450
- that You distribute, all copyright, patent, trademark, and
2451
- attribution notices from the Source form of the Work,
2452
- excluding those notices that do not pertain to any part of
2453
- the Derivative Works; and
2454
-
2455
- (d) If the Work includes a "NOTICE" text file as part of its
2456
- distribution, then any Derivative Works that You distribute must
2457
- include a readable copy of the attribution notices contained
2458
- within such NOTICE file, excluding those notices that do not
2459
- pertain to any part of the Derivative Works, in at least one
2460
- of the following places: within a NOTICE text file distributed
2461
- as part of the Derivative Works; within the Source form or
2462
- documentation, if provided along with the Derivative Works; or,
2463
- within a display generated by the Derivative Works, if and
2464
- wherever such third-party notices normally appear. The contents
2465
- of the NOTICE file are for informational purposes only and
2466
- do not modify the License. You may add Your own attribution
2467
- notices within Derivative Works that You distribute, alongside
2468
- or as an addendum to the NOTICE text from the Work, provided
2469
- that such additional attribution notices cannot be construed
2470
- as modifying the License.
2471
-
2472
- You may add Your own copyright statement to Your modifications and
2473
- may provide additional or different license terms and conditions
2474
- for use, reproduction, or distribution of Your modifications, or
2475
- for any such Derivative Works as a whole, provided Your use,
2476
- reproduction, and distribution of the Work otherwise complies with
2477
- the conditions stated in this License.
2478
-
2479
- 5. Submission of Contributions. Unless You explicitly state otherwise,
2480
- any Contribution intentionally submitted for inclusion in the Work
2481
- by You to the Licensor shall be under the terms and conditions of
2482
- this License, without any additional terms or conditions.
2483
- Notwithstanding the above, nothing herein shall supersede or modify
2484
- the terms of any separate license agreement you may have executed
2485
- with Licensor regarding such Contributions.
2486
-
2487
- 6. Trademarks. This License does not grant permission to use the trade
2488
- names, trademarks, service marks, or product names of the Licensor,
2489
- except as required for reasonable and customary use in describing the
2490
- origin of the Work and reproducing the content of the NOTICE file.
2491
-
2492
- 7. Disclaimer of Warranty. Unless required by applicable law or
2493
- agreed to in writing, Licensor provides the Work (and each
2494
- Contributor provides its Contributions) on an "AS IS" BASIS,
2495
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
2496
- implied, including, without limitation, any warranties or conditions
2497
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
2498
- PARTICULAR PURPOSE. You are solely responsible for determining the
2499
- appropriateness of using or redistributing the Work and assume any
2500
- risks associated with Your exercise of permissions under this License.
2501
-
2502
- 8. Limitation of Liability. In no event and under no legal theory,
2503
- whether in tort (including negligence), contract, or otherwise,
2504
- unless required by applicable law (such as deliberate and grossly
2505
- negligent acts) or agreed to in writing, shall any Contributor be
2506
- liable to You for damages, including any direct, indirect, special,
2507
- incidental, or consequential damages of any character arising as a
2508
- result of this License or out of the use or inability to use the
2509
- Work (including but not limited to damages for loss of goodwill,
2510
- work stoppage, computer failure or malfunction, or any and all
2511
- other commercial damages or losses), even if such Contributor
2512
- has been advised of the possibility of such damages.
2513
-
2514
- 9. Accepting Warranty or Additional Liability. While redistributing
2515
- the Work or Derivative Works thereof, You may choose to offer,
2516
- and charge a fee for, acceptance of support, warranty, indemnity,
2517
- or other liability obligations and/or rights consistent with this
2518
- License. However, in accepting such obligations, You may act only
2519
- on Your own behalf and on Your sole responsibility, not on behalf
2520
- of any other Contributor, and only if You agree to indemnify,
2521
- defend, and hold each Contributor harmless for any liability
2522
- incurred by, or claims asserted against, such Contributor by reason
2523
- of your accepting any such warranty or additional liability.
2524
-
2525
- END OF TERMS AND CONDITIONS
2526
-
2527
- APPENDIX: How to apply the Apache License to your work.
2528
-
2529
- To apply the Apache License to your work, attach the following
2530
- boilerplate notice, with the fields enclosed by brackets "[]"
2531
- replaced with your own identifying information. (Don't include
2532
- the brackets!) The text should be enclosed in the appropriate
2533
- comment syntax for the file format. We also recommend that a
2534
- file or class name and description of purpose be included on the
2535
- same "printed page" as the copyright notice for easier
2536
- identification within third-party archives.
2537
-
2538
- Copyright [yyyy] [name of copyright owner]
2539
-
2540
- Licensed under the Apache License, Version 2.0 (the "License");
2541
- you may not use this file except in compliance with the License.
2542
- You may obtain a copy of the License at
2543
-
2544
- http://www.apache.org/licenses/LICENSE-2.0
2545
-
2546
- Unless required by applicable law or agreed to in writing, software
2547
- distributed under the License is distributed on an "AS IS" BASIS,
2548
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2549
- See the License for the specific language governing permissions and
2550
- limitations under the License.
2551
-
2552
- _____
2553
-
2554
2300
  google/nsync
2555
2301
 
2556
2302
  Apache License
@@ -2813,231 +2559,23 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
2813
2559
  SOFTWARE.
2814
2560
 
2815
2561
  _____
2562
+ Boost
2816
2563
 
2817
- NervanaSystems/ngraph
2818
-
2819
- Copyright 2016-2019 Intel Corporation
2820
-
2821
- Apache License
2822
- Version 2.0, January 2004
2823
- http://www.apache.org/licenses/
2564
+ Boost Software License - Version 1.0 - August 17th, 2003
2824
2565
 
2825
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
2566
+ Permission is hereby granted, free of charge, to any person or organization
2567
+ obtaining a copy of the software and accompanying documentation covered by
2568
+ this license (the "Software") to use, reproduce, display, distribute,
2569
+ execute, and transmit the Software, and to prepare derivative works of the
2570
+ Software, and to permit third-parties to whom the Software is furnished to
2571
+ do so, all subject to the following:
2826
2572
 
2827
- 1. Definitions.
2828
-
2829
- "License" shall mean the terms and conditions for use, reproduction,
2830
- and distribution as defined by Sections 1 through 9 of this document.
2831
-
2832
- "Licensor" shall mean the copyright owner or entity authorized by
2833
- the copyright owner that is granting the License.
2834
-
2835
- "Legal Entity" shall mean the union of the acting entity and all
2836
- other entities that control, are controlled by, or are under common
2837
- control with that entity. For the purposes of this definition,
2838
- "control" means (i) the power, direct or indirect, to cause the
2839
- direction or management of such entity, whether by contract or
2840
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
2841
- outstanding shares, or (iii) beneficial ownership of such entity.
2842
-
2843
- "You" (or "Your") shall mean an individual or Legal Entity
2844
- exercising permissions granted by this License.
2845
-
2846
- "Source" form shall mean the preferred form for making modifications,
2847
- including but not limited to software source code, documentation
2848
- source, and configuration files.
2849
-
2850
- "Object" form shall mean any form resulting from mechanical
2851
- transformation or translation of a Source form, including but
2852
- not limited to compiled object code, generated documentation,
2853
- and conversions to other media types.
2854
-
2855
- "Work" shall mean the work of authorship, whether in Source or
2856
- Object form, made available under the License, as indicated by a
2857
- copyright notice that is included in or attached to the work
2858
- (an example is provided in the Appendix below).
2859
-
2860
- "Derivative Works" shall mean any work, whether in Source or Object
2861
- form, that is based on (or derived from) the Work and for which the
2862
- editorial revisions, annotations, elaborations, or other modifications
2863
- represent, as a whole, an original work of authorship. For the purposes
2864
- of this License, Derivative Works shall not include works that remain
2865
- separable from, or merely link (or bind by name) to the interfaces of,
2866
- the Work and Derivative Works thereof.
2867
-
2868
- "Contribution" shall mean any work of authorship, including
2869
- the original version of the Work and any modifications or additions
2870
- to that Work or Derivative Works thereof, that is intentionally
2871
- submitted to Licensor for inclusion in the Work by the copyright owner
2872
- or by an individual or Legal Entity authorized to submit on behalf of
2873
- the copyright owner. For the purposes of this definition, "submitted"
2874
- means any form of electronic, verbal, or written communication sent
2875
- to the Licensor or its representatives, including but not limited to
2876
- communication on electronic mailing lists, source code control systems,
2877
- and issue tracking systems that are managed by, or on behalf of, the
2878
- Licensor for the purpose of discussing and improving the Work, but
2879
- excluding communication that is conspicuously marked or otherwise
2880
- designated in writing by the copyright owner as "Not a Contribution."
2881
-
2882
- "Contributor" shall mean Licensor and any individual or Legal Entity
2883
- on behalf of whom a Contribution has been received by Licensor and
2884
- subsequently incorporated within the Work.
2885
-
2886
- 2. Grant of Copyright License. Subject to the terms and conditions of
2887
- this License, each Contributor hereby grants to You a perpetual,
2888
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
2889
- copyright license to reproduce, prepare Derivative Works of,
2890
- publicly display, publicly perform, sublicense, and distribute the
2891
- Work and such Derivative Works in Source or Object form.
2892
-
2893
- 3. Grant of Patent License. Subject to the terms and conditions of
2894
- this License, each Contributor hereby grants to You a perpetual,
2895
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
2896
- (except as stated in this section) patent license to make, have made,
2897
- use, offer to sell, sell, import, and otherwise transfer the Work,
2898
- where such license applies only to those patent claims licensable
2899
- by such Contributor that are necessarily infringed by their
2900
- Contribution(s) alone or by combination of their Contribution(s)
2901
- with the Work to which such Contribution(s) was submitted. If You
2902
- institute patent litigation against any entity (including a
2903
- cross-claim or counterclaim in a lawsuit) alleging that the Work
2904
- or a Contribution incorporated within the Work constitutes direct
2905
- or contributory patent infringement, then any patent licenses
2906
- granted to You under this License for that Work shall terminate
2907
- as of the date such litigation is filed.
2908
-
2909
- 4. Redistribution. You may reproduce and distribute copies of the
2910
- Work or Derivative Works thereof in any medium, with or without
2911
- modifications, and in Source or Object form, provided that You
2912
- meet the following conditions:
2913
-
2914
- (a) You must give any other recipients of the Work or
2915
- Derivative Works a copy of this License; and
2916
-
2917
- (b) You must cause any modified files to carry prominent notices
2918
- stating that You changed the files; and
2919
-
2920
- (c) You must retain, in the Source form of any Derivative Works
2921
- that You distribute, all copyright, patent, trademark, and
2922
- attribution notices from the Source form of the Work,
2923
- excluding those notices that do not pertain to any part of
2924
- the Derivative Works; and
2925
-
2926
- (d) If the Work includes a "NOTICE" text file as part of its
2927
- distribution, then any Derivative Works that You distribute must
2928
- include a readable copy of the attribution notices contained
2929
- within such NOTICE file, excluding those notices that do not
2930
- pertain to any part of the Derivative Works, in at least one
2931
- of the following places: within a NOTICE text file distributed
2932
- as part of the Derivative Works; within the Source form or
2933
- documentation, if provided along with the Derivative Works; or,
2934
- within a display generated by the Derivative Works, if and
2935
- wherever such third-party notices normally appear. The contents
2936
- of the NOTICE file are for informational purposes only and
2937
- do not modify the License. You may add Your own attribution
2938
- notices within Derivative Works that You distribute, alongside
2939
- or as an addendum to the NOTICE text from the Work, provided
2940
- that such additional attribution notices cannot be construed
2941
- as modifying the License.
2942
-
2943
- You may add Your own copyright statement to Your modifications and
2944
- may provide additional or different license terms and conditions
2945
- for use, reproduction, or distribution of Your modifications, or
2946
- for any such Derivative Works as a whole, provided Your use,
2947
- reproduction, and distribution of the Work otherwise complies with
2948
- the conditions stated in this License.
2949
-
2950
- 5. Submission of Contributions. Unless You explicitly state otherwise,
2951
- any Contribution intentionally submitted for inclusion in the Work
2952
- by You to the Licensor shall be under the terms and conditions of
2953
- this License, without any additional terms or conditions.
2954
- Notwithstanding the above, nothing herein shall supersede or modify
2955
- the terms of any separate license agreement you may have executed
2956
- with Licensor regarding such Contributions.
2957
-
2958
- 6. Trademarks. This License does not grant permission to use the trade
2959
- names, trademarks, service marks, or product names of the Licensor,
2960
- except as required for reasonable and customary use in describing the
2961
- origin of the Work and reproducing the content of the NOTICE file.
2962
-
2963
- 7. Disclaimer of Warranty. Unless required by applicable law or
2964
- agreed to in writing, Licensor provides the Work (and each
2965
- Contributor provides its Contributions) on an "AS IS" BASIS,
2966
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
2967
- implied, including, without limitation, any warranties or conditions
2968
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
2969
- PARTICULAR PURPOSE. You are solely responsible for determining the
2970
- appropriateness of using or redistributing the Work and assume any
2971
- risks associated with Your exercise of permissions under this License.
2972
-
2973
- 8. Limitation of Liability. In no event and under no legal theory,
2974
- whether in tort (including negligence), contract, or otherwise,
2975
- unless required by applicable law (such as deliberate and grossly
2976
- negligent acts) or agreed to in writing, shall any Contributor be
2977
- liable to You for damages, including any direct, indirect, special,
2978
- incidental, or consequential damages of any character arising as a
2979
- result of this License or out of the use or inability to use the
2980
- Work (including but not limited to damages for loss of goodwill,
2981
- work stoppage, computer failure or malfunction, or any and all
2982
- other commercial damages or losses), even if such Contributor
2983
- has been advised of the possibility of such damages.
2984
-
2985
- 9. Accepting Warranty or Additional Liability. While redistributing
2986
- the Work or Derivative Works thereof, You may choose to offer,
2987
- and charge a fee for, acceptance of support, warranty, indemnity,
2988
- or other liability obligations and/or rights consistent with this
2989
- License. However, in accepting such obligations, You may act only
2990
- on Your own behalf and on Your sole responsibility, not on behalf
2991
- of any other Contributor, and only if You agree to indemnify,
2992
- defend, and hold each Contributor harmless for any liability
2993
- incurred by, or claims asserted against, such Contributor by reason
2994
- of your accepting any such warranty or additional liability.
2995
-
2996
- END OF TERMS AND CONDITIONS
2997
-
2998
- APPENDIX: How to apply the Apache License to your work.
2999
-
3000
- To apply the Apache License to your work, attach the following
3001
- boilerplate notice, with the fields enclosed by brackets "[]"
3002
- replaced with your own identifying information. (Don't include
3003
- the brackets!) The text should be enclosed in the appropriate
3004
- comment syntax for the file format. We also recommend that a
3005
- file or class name and description of purpose be included on the
3006
- same "printed page" as the copyright notice for easier
3007
- identification within third-party archives.
3008
-
3009
- Copyright [yyyy] [name of copyright owner]
3010
-
3011
- Licensed under the Apache License, Version 2.0 (the "License");
3012
- you may not use this file except in compliance with the License.
3013
- You may obtain a copy of the License at
3014
-
3015
- http://www.apache.org/licenses/LICENSE-2.0
3016
-
3017
- Unless required by applicable law or agreed to in writing, software
3018
- distributed under the License is distributed on an "AS IS" BASIS,
3019
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3020
- See the License for the specific language governing permissions and
3021
- limitations under the License.
3022
-
3023
- _____
3024
- Boost
3025
-
3026
- Boost Software License - Version 1.0 - August 17th, 2003
3027
-
3028
- Permission is hereby granted, free of charge, to any person or organization
3029
- obtaining a copy of the software and accompanying documentation covered by
3030
- this license (the "Software") to use, reproduce, display, distribute,
3031
- execute, and transmit the Software, and to prepare derivative works of the
3032
- Software, and to permit third-parties to whom the Software is furnished to
3033
- do so, all subject to the following:
3034
-
3035
- The copyright notices in the Software and this entire statement, including
3036
- the above license grant, this restriction and the following disclaimer,
3037
- must be included in all copies of the Software, in whole or in part, and
3038
- all derivative works of the Software, unless such copies or derivative
3039
- works are solely in the form of machine-executable object code generated by
3040
- a source language processor.
2573
+ The copyright notices in the Software and this entire statement, including
2574
+ the above license grant, this restriction and the following disclaimer,
2575
+ must be included in all copies of the Software, in whole or in part, and
2576
+ all derivative works of the Software, unless such copies or derivative
2577
+ works are solely in the form of machine-executable object code generated by
2578
+ a source language processor.
3041
2579
 
3042
2580
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
3043
2581
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
@@ -3048,7 +2586,7 @@ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
3048
2586
  DEALINGS IN THE SOFTWARE.
3049
2587
 
3050
2588
 
3051
- -----
2589
+ _____
3052
2590
 
3053
2591
  JDAI-CV/DNNLibrary
3054
2592
 
@@ -3255,7 +2793,7 @@ JDAI-CV/DNNLibrary
3255
2793
  limitations under the License.
3256
2794
 
3257
2795
 
3258
- -----
2796
+ _____
3259
2797
 
3260
2798
  google/flatbuffers
3261
2799
 
@@ -3463,7 +3001,7 @@ google/flatbuffers
3463
3001
  limitations under the License.
3464
3002
 
3465
3003
 
3466
- -----
3004
+ _____
3467
3005
 
3468
3006
  google/glog
3469
3007
 
@@ -3533,7 +3071,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3533
3071
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
3534
3072
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3535
3073
 
3536
- ----
3074
+ _____
3537
3075
 
3538
3076
  abseil-cpp
3539
3077
  https://github.com/abseil/abseil-cpp
@@ -3741,7 +3279,7 @@ https://github.com/abseil/abseil-cpp
3741
3279
  limitations under the License.
3742
3280
 
3743
3281
 
3744
- -----
3282
+ _____
3745
3283
 
3746
3284
  NVlabs/cub
3747
3285
 
@@ -3770,7 +3308,7 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3770
3308
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
3771
3309
  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3772
3310
 
3773
- -----
3311
+ _____
3774
3312
 
3775
3313
  microsoft/wil
3776
3314
 
@@ -3796,7 +3334,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
3796
3334
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
3797
3335
  SOFTWARE
3798
3336
 
3799
- -----
3337
+ _____
3800
3338
 
3801
3339
  nlohmann/json
3802
3340
 
@@ -3822,7 +3360,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
3822
3360
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
3823
3361
  SOFTWARE.
3824
3362
 
3825
- -----
3363
+ _____
3826
3364
 
3827
3365
  dcleblanc/SafeInt
3828
3366
 
@@ -3848,7 +3386,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
3848
3386
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
3849
3387
  SOFTWARE.
3850
3388
 
3851
- -----
3389
+ _____
3852
3390
  Open MPI
3853
3391
 
3854
3392
  3-Clause BSD License
@@ -3954,7 +3492,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
3954
3492
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
3955
3493
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3956
3494
 
3957
- -----
3495
+ _____
3958
3496
 
3959
3497
  The Android Open Source Project
3960
3498
 
@@ -4293,7 +3831,7 @@ libprotobuf-mutator
4293
3831
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
4294
3832
  POSSIBILITY OF SUCH DAMAGE.
4295
3833
 
4296
- --
3834
+ _____
4297
3835
 
4298
3836
  mpi4py
4299
3837
  https://github.com/mpi4py/mpi4py/
@@ -4805,7 +4343,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
4805
4343
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
4806
4344
  PERFORMANCE OF THIS SOFTWARE.
4807
4345
 
4808
- -----
4346
+ _____
4809
4347
 
4810
4348
  MurmurHash3
4811
4349
 
@@ -4820,4 +4358,358 @@ SMHasher test suite used to verify them.
4820
4358
  SMHasher is released under the MIT license.
4821
4359
  All MurmurHash versions are public domain software, and the author disclaims all copyright to their code.
4822
4360
 
4823
- -----
4361
+ _____
4362
+
4363
+ gtest-ios-framework
4364
+
4365
+ https://github.com/mestevens/gtest-ios-framework
4366
+
4367
+ Copyright (c) 2013 Matthew Stevens
4368
+
4369
+ Permission is hereby granted, free of charge, to any person obtaining
4370
+ a copy of this software and associated documentation files (the
4371
+ "Software"), to deal in the Software without restriction, including
4372
+ without limitation the rights to use, copy, modify, merge, publish,
4373
+ distribute, sublicense, and/or sell copies of the Software, and to
4374
+ permit persons to whom the Software is furnished to do so, subject to
4375
+ the following conditions:
4376
+
4377
+ The above copyright notice and this permission notice shall be
4378
+ included in all copies or substantial portions of the Software.
4379
+
4380
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4381
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4382
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4383
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
4384
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
4385
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
4386
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
4387
+
4388
+ _____
4389
+
4390
+ optional-lite
4391
+
4392
+ Copyright (c) 2014-2018 Martin Moene
4393
+
4394
+ https://github.com/martinmoene/optional-lite
4395
+
4396
+ Distributed under the Boost Software License, Version 1.0.
4397
+
4398
+ Boost Software License - Version 1.0 - August 17th, 2003
4399
+
4400
+ Permission is hereby granted, free of charge, to any person or organization
4401
+ obtaining a copy of the software and accompanying documentation covered by
4402
+ this license (the "Software") to use, reproduce, display, distribute,
4403
+ execute, and transmit the Software, and to prepare derivative works of the
4404
+ Software, and to permit third-parties to whom the Software is furnished to
4405
+ do so, all subject to the following:
4406
+
4407
+ The copyright notices in the Software and this entire statement, including
4408
+ the above license grant, this restriction and the following disclaimer,
4409
+ must be included in all copies of the Software, in whole or in part, and
4410
+ all derivative works of the Software, unless such copies or derivative
4411
+ works are solely in the form of machine-executable object code generated by
4412
+ a source language processor.
4413
+
4414
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4415
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4416
+ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
4417
+ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
4418
+ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
4419
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
4420
+ DEALINGS IN THE SOFTWARE.
4421
+
4422
+ _____
4423
+
4424
+ DLPack
4425
+
4426
+ https://github.com/dmlc/dlpack
4427
+
4428
+ Apache License
4429
+ Version 2.0, January 2004
4430
+ http://www.apache.org/licenses/
4431
+
4432
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
4433
+
4434
+ 1. Definitions.
4435
+
4436
+ "License" shall mean the terms and conditions for use, reproduction,
4437
+ and distribution as defined by Sections 1 through 9 of this document.
4438
+
4439
+ "Licensor" shall mean the copyright owner or entity authorized by
4440
+ the copyright owner that is granting the License.
4441
+
4442
+ "Legal Entity" shall mean the union of the acting entity and all
4443
+ other entities that control, are controlled by, or are under common
4444
+ control with that entity. For the purposes of this definition,
4445
+ "control" means (i) the power, direct or indirect, to cause the
4446
+ direction or management of such entity, whether by contract or
4447
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
4448
+ outstanding shares, or (iii) beneficial ownership of such entity.
4449
+
4450
+ "You" (or "Your") shall mean an individual or Legal Entity
4451
+ exercising permissions granted by this License.
4452
+
4453
+ "Source" form shall mean the preferred form for making modifications,
4454
+ including but not limited to software source code, documentation
4455
+ source, and configuration files.
4456
+
4457
+ "Object" form shall mean any form resulting from mechanical
4458
+ transformation or translation of a Source form, including but
4459
+ not limited to compiled object code, generated documentation,
4460
+ and conversions to other media types.
4461
+
4462
+ "Work" shall mean the work of authorship, whether in Source or
4463
+ Object form, made available under the License, as indicated by a
4464
+ copyright notice that is included in or attached to the work
4465
+ (an example is provided in the Appendix below).
4466
+
4467
+ "Derivative Works" shall mean any work, whether in Source or Object
4468
+ form, that is based on (or derived from) the Work and for which the
4469
+ editorial revisions, annotations, elaborations, or other modifications
4470
+ represent, as a whole, an original work of authorship. For the purposes
4471
+ of this License, Derivative Works shall not include works that remain
4472
+ separable from, or merely link (or bind by name) to the interfaces of,
4473
+ the Work and Derivative Works thereof.
4474
+
4475
+ "Contribution" shall mean any work of authorship, including
4476
+ the original version of the Work and any modifications or additions
4477
+ to that Work or Derivative Works thereof, that is intentionally
4478
+ submitted to Licensor for inclusion in the Work by the copyright owner
4479
+ or by an individual or Legal Entity authorized to submit on behalf of
4480
+ the copyright owner. For the purposes of this definition, "submitted"
4481
+ means any form of electronic, verbal, or written communication sent
4482
+ to the Licensor or its representatives, including but not limited to
4483
+ communication on electronic mailing lists, source code control systems,
4484
+ and issue tracking systems that are managed by, or on behalf of, the
4485
+ Licensor for the purpose of discussing and improving the Work, but
4486
+ excluding communication that is conspicuously marked or otherwise
4487
+ designated in writing by the copyright owner as "Not a Contribution."
4488
+
4489
+ "Contributor" shall mean Licensor and any individual or Legal Entity
4490
+ on behalf of whom a Contribution has been received by Licensor and
4491
+ subsequently incorporated within the Work.
4492
+
4493
+ 2. Grant of Copyright License. Subject to the terms and conditions of
4494
+ this License, each Contributor hereby grants to You a perpetual,
4495
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
4496
+ copyright license to reproduce, prepare Derivative Works of,
4497
+ publicly display, publicly perform, sublicense, and distribute the
4498
+ Work and such Derivative Works in Source or Object form.
4499
+
4500
+ 3. Grant of Patent License. Subject to the terms and conditions of
4501
+ this License, each Contributor hereby grants to You a perpetual,
4502
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
4503
+ (except as stated in this section) patent license to make, have made,
4504
+ use, offer to sell, sell, import, and otherwise transfer the Work,
4505
+ where such license applies only to those patent claims licensable
4506
+ by such Contributor that are necessarily infringed by their
4507
+ Contribution(s) alone or by combination of their Contribution(s)
4508
+ with the Work to which such Contribution(s) was submitted. If You
4509
+ institute patent litigation against any entity (including a
4510
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
4511
+ or a Contribution incorporated within the Work constitutes direct
4512
+ or contributory patent infringement, then any patent licenses
4513
+ granted to You under this License for that Work shall terminate
4514
+ as of the date such litigation is filed.
4515
+
4516
+ 4. Redistribution. You may reproduce and distribute copies of the
4517
+ Work or Derivative Works thereof in any medium, with or without
4518
+ modifications, and in Source or Object form, provided that You
4519
+ meet the following conditions:
4520
+
4521
+ (a) You must give any other recipients of the Work or
4522
+ Derivative Works a copy of this License; and
4523
+
4524
+ (b) You must cause any modified files to carry prominent notices
4525
+ stating that You changed the files; and
4526
+
4527
+ (c) You must retain, in the Source form of any Derivative Works
4528
+ that You distribute, all copyright, patent, trademark, and
4529
+ attribution notices from the Source form of the Work,
4530
+ excluding those notices that do not pertain to any part of
4531
+ the Derivative Works; and
4532
+
4533
+ (d) If the Work includes a "NOTICE" text file as part of its
4534
+ distribution, then any Derivative Works that You distribute must
4535
+ include a readable copy of the attribution notices contained
4536
+ within such NOTICE file, excluding those notices that do not
4537
+ pertain to any part of the Derivative Works, in at least one
4538
+ of the following places: within a NOTICE text file distributed
4539
+ as part of the Derivative Works; within the Source form or
4540
+ documentation, if provided along with the Derivative Works; or,
4541
+ within a display generated by the Derivative Works, if and
4542
+ wherever such third-party notices normally appear. The contents
4543
+ of the NOTICE file are for informational purposes only and
4544
+ do not modify the License. You may add Your own attribution
4545
+ notices within Derivative Works that You distribute, alongside
4546
+ or as an addendum to the NOTICE text from the Work, provided
4547
+ that such additional attribution notices cannot be construed
4548
+ as modifying the License.
4549
+
4550
+ You may add Your own copyright statement to Your modifications and
4551
+ may provide additional or different license terms and conditions
4552
+ for use, reproduction, or distribution of Your modifications, or
4553
+ for any such Derivative Works as a whole, provided Your use,
4554
+ reproduction, and distribution of the Work otherwise complies with
4555
+ the conditions stated in this License.
4556
+
4557
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
4558
+ any Contribution intentionally submitted for inclusion in the Work
4559
+ by You to the Licensor shall be under the terms and conditions of
4560
+ this License, without any additional terms or conditions.
4561
+ Notwithstanding the above, nothing herein shall supersede or modify
4562
+ the terms of any separate license agreement you may have executed
4563
+ with Licensor regarding such Contributions.
4564
+
4565
+ 6. Trademarks. This License does not grant permission to use the trade
4566
+ names, trademarks, service marks, or product names of the Licensor,
4567
+ except as required for reasonable and customary use in describing the
4568
+ origin of the Work and reproducing the content of the NOTICE file.
4569
+
4570
+ 7. Disclaimer of Warranty. Unless required by applicable law or
4571
+ agreed to in writing, Licensor provides the Work (and each
4572
+ Contributor provides its Contributions) on an "AS IS" BASIS,
4573
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
4574
+ implied, including, without limitation, any warranties or conditions
4575
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
4576
+ PARTICULAR PURPOSE. You are solely responsible for determining the
4577
+ appropriateness of using or redistributing the Work and assume any
4578
+ risks associated with Your exercise of permissions under this License.
4579
+
4580
+ 8. Limitation of Liability. In no event and under no legal theory,
4581
+ whether in tort (including negligence), contract, or otherwise,
4582
+ unless required by applicable law (such as deliberate and grossly
4583
+ negligent acts) or agreed to in writing, shall any Contributor be
4584
+ liable to You for damages, including any direct, indirect, special,
4585
+ incidental, or consequential damages of any character arising as a
4586
+ result of this License or out of the use or inability to use the
4587
+ Work (including but not limited to damages for loss of goodwill,
4588
+ work stoppage, computer failure or malfunction, or any and all
4589
+ other commercial damages or losses), even if such Contributor
4590
+ has been advised of the possibility of such damages.
4591
+
4592
+ 9. Accepting Warranty or Additional Liability. While redistributing
4593
+ the Work or Derivative Works thereof, You may choose to offer,
4594
+ and charge a fee for, acceptance of support, warranty, indemnity,
4595
+ or other liability obligations and/or rights consistent with this
4596
+ License. However, in accepting such obligations, You may act only
4597
+ on Your own behalf and on Your sole responsibility, not on behalf
4598
+ of any other Contributor, and only if You agree to indemnify,
4599
+ defend, and hold each Contributor harmless for any liability
4600
+ incurred by, or claims asserted against, such Contributor by reason
4601
+ of your accepting any such warranty or additional liability.
4602
+
4603
+ END OF TERMS AND CONDITIONS
4604
+
4605
+ APPENDIX: How to apply the Apache License to your work.
4606
+
4607
+ To apply the Apache License to your work, attach the following
4608
+ boilerplate notice, with the fields enclosed by brackets "{}"
4609
+ replaced with your own identifying information. (Don't include
4610
+ the brackets!) The text should be enclosed in the appropriate
4611
+ comment syntax for the file format. We also recommend that a
4612
+ file or class name and description of purpose be included on the
4613
+ same "printed page" as the copyright notice for easier
4614
+ identification within third-party archives.
4615
+
4616
+ Copyright 2017 by Contributors
4617
+
4618
+ Licensed under the Apache License, Version 2.0 (the "License");
4619
+ you may not use this file except in compliance with the License.
4620
+ You may obtain a copy of the License at
4621
+
4622
+ http://www.apache.org/licenses/LICENSE-2.0
4623
+
4624
+ Unless required by applicable law or agreed to in writing, software
4625
+ distributed under the License is distributed on an "AS IS" BASIS,
4626
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4627
+ See the License for the specific language governing permissions and
4628
+ limitations under the License.
4629
+
4630
+ _____
4631
+
4632
+ emsdk
4633
+
4634
+ MIT/Expat license
4635
+
4636
+ https://github.com/emscripten-core/emsdk
4637
+
4638
+ Copyright (c) 2018 Emscripten authors (see AUTHORS in Emscripten)
4639
+
4640
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4641
+ of this software and associated documentation files (the "Software"), to deal
4642
+ in the Software without restriction, including without limitation the rights
4643
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4644
+ copies of the Software, and to permit persons to whom the Software is
4645
+ furnished to do so, subject to the following conditions:
4646
+
4647
+ The above copyright notice and this permission notice shall be included in all
4648
+ copies or substantial portions of the Software.
4649
+
4650
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4651
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4652
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4653
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4654
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4655
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4656
+ SOFTWARE.
4657
+
4658
+ ----------------------------------------------------------------------------
4659
+
4660
+ This is the MIT/Expat Licence. For more information see:
4661
+
4662
+ 1. http://www.opensource.org/licenses/mit-license.php
4663
+
4664
+ 2. http://en.wikipedia.org/wiki/MIT_License
4665
+
4666
+ _____
4667
+
4668
+ coremltools
4669
+
4670
+ BSD-3-Clause License
4671
+
4672
+ https://github.com/apple/coremltools
4673
+
4674
+ Copyright (c) 2020, Apple Inc. All rights reserved.
4675
+
4676
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
4677
+
4678
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
4679
+
4680
+ 2. 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.
4681
+
4682
+ 3. Neither the name of the copyright holder(s) nor the names of any contributors may be used to endorse or promote products derived from this software without specific prior written permission.
4683
+
4684
+ 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.
4685
+ © 2021 GitHub, Inc.
4686
+
4687
+ _____
4688
+
4689
+ react-native
4690
+
4691
+ MIT License
4692
+
4693
+ https://github.com/facebook/react-native
4694
+
4695
+ Copyright (c) Facebook, Inc. and its affiliates.
4696
+
4697
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4698
+ of this software and associated documentation files (the "Software"), to deal
4699
+ in the Software without restriction, including without limitation the rights
4700
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4701
+ copies of the Software, and to permit persons to whom the Software is
4702
+ furnished to do so, subject to the following conditions:
4703
+
4704
+ The above copyright notice and this permission notice shall be included in all
4705
+ copies or substantial portions of the Software.
4706
+
4707
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4708
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4709
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4710
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4711
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4712
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4713
+ SOFTWARE.
4714
+
4715
+ _____