xmos-ai-tools 1.1.2.dev263__py3-none-macosx_11_0_arm64.whl → 1.1.2.dev276__py3-none-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -51,7 +51,7 @@ typedef struct {
51
51
  * channels)
52
52
  * @param job_count [in] The number of jobs to be initialized.
53
53
  */
54
- void bsign_8_prepare(nn_bsign_8_job_t* jobs, int8_t* zero_point_vect,
54
+ void bsign_8_prepare(nn_bsign_8_job_t *jobs, int8_t *zero_point_vect,
55
55
  const uint32_t N, const int8_t zero_point,
56
56
  const int32_t job_count);
57
57
 
@@ -82,8 +82,8 @@ void bsign_8_prepare(nn_bsign_8_job_t* jobs, int8_t* zero_point_vect,
82
82
  * @param plan [in] The @oper{bsign_8} plan to be processed
83
83
  * @param job [in] The @oper{bsign_8} job to be processed
84
84
  */
85
- void bsign_8(bnn_b32_t* Y, const int8_t* X, const int8_t* zero_point_vect,
86
- const nn_bsign_8_job_t* job);
85
+ void bsign_8(bnn_b32_t *Y, const int8_t *X, const int8_t *zero_point_vect,
86
+ const nn_bsign_8_job_t *job);
87
87
 
88
88
  /**
89
89
  * Struct represents the parameters needed by each `pad_run()` job.
@@ -124,8 +124,9 @@ typedef struct padding_sizes_t {
124
124
  * @param x [in] Look-up table @tensor{T}
125
125
  * @param bytes_per_pixel [in] Length @math{N} of input and output vectors
126
126
  */
127
- C_API void pad_prepare(nn_pad_plan_t* plan, const padding_sizes_t* p,
128
- const nn_image_params_t* x, const unsigned bytes_per_pixel);
127
+ C_API void pad_prepare(nn_pad_plan_t *plan, const padding_sizes_t *p,
128
+ const nn_image_params_t *x,
129
+ const unsigned bytes_per_pixel);
129
130
 
130
131
  /**
131
132
  * @brief Execute @oper{pad_run} job.
@@ -145,19 +146,17 @@ C_API void pad_prepare(nn_pad_plan_t* plan, const padding_sizes_t* p,
145
146
  * @param x [in] The input vector @tensor{x}
146
147
  * @param plan [in] The prameters describing how to pad.
147
148
  */
148
- void pad_run(char* y, char* x, const nn_pad_plan_t* p, uint32_t pad_value);
149
+ void pad_run(char *y, char *x, const nn_pad_plan_t *p, uint32_t pad_value);
149
150
 
150
- void pad_ref(char* y, char* x, const padding_sizes_t* p,
151
- const nn_image_params_t* xp, const unsigned bytes_per_pixel,
151
+ void pad_ref(char *y, char *x, const padding_sizes_t *p,
152
+ const nn_image_params_t *xp, const unsigned bytes_per_pixel,
152
153
  uint32_t pad_value);
153
154
 
154
-
155
155
  /**
156
156
  * Func to calculate n_3
157
- */
158
- void pad_3_to_4_prepare(uint32_t * n_3,
159
- const unsigned height,
160
- const unsigned width);
157
+ */
158
+ void pad_3_to_4_prepare(uint32_t *n_3, const unsigned height,
159
+ const unsigned width);
161
160
 
162
161
  /** Function that pads an image with 3-byte values with a 0.
163
162
  * The output image must be word aligned. This function solves the general
@@ -169,28 +168,28 @@ void pad_3_to_4_prepare(uint32_t * n_3,
169
168
  *
170
169
  * @returns The inner product
171
170
  */
172
- extern void pad_3_to_4_run(int8_t outputs[], int8_t inputs[], uint32_t N_3, uint32_t pad_val);
173
- extern void pad_3_to_4_ref(int8_t outputs[], int8_t inputs[], uint32_t N_3, uint32_t pad_val);
171
+ extern void pad_3_to_4_run(int8_t outputs[], int8_t inputs[], uint32_t N_3,
172
+ uint32_t pad_val);
173
+ extern void pad_3_to_4_ref(int8_t outputs[], int8_t inputs[], uint32_t N_3,
174
+ uint32_t pad_val);
174
175
 
175
176
  typedef struct nn_mul_params_t {
176
- int8_t in1_zero_point;
177
- int8_t in2_zero_point;
178
- int16_t bias;
179
- int16_t scalar;
180
- int16_t vlashr_shr;
177
+ int8_t in1_zero_point;
178
+ int8_t in2_zero_point;
179
+ int16_t bias;
180
+ int16_t scalar;
181
+ int16_t vlashr_shr;
181
182
  } nn_mul_params_t;
182
183
 
183
- void mul_boggle(nn_mul_params_t * params,
184
- double in1Scale,
185
- double in2Scale,
186
- double outputScale,
187
- int8_t in1ZeroPoint,
188
- int8_t in2ZeroPoint,
189
- int8_t outputZeroPoint);
190
- void mul_elementwise(int8_t* in1_data, int8_t* in2_data, int element_count, nn_mul_params_t * params, int8_t * out_data);
184
+ void mul_boggle(nn_mul_params_t *params, double in1Scale, double in2Scale,
185
+ double outputScale, int8_t in1ZeroPoint, int8_t in2ZeroPoint,
186
+ int8_t outputZeroPoint);
187
+ void mul_elementwise(const int8_t *in1_data, const int8_t *in2_data, int element_count,
188
+ nn_mul_params_t *params, int8_t *out_data);
191
189
 
192
190
  // /**
193
- // * Describes the parameters needed for an @oper{add_elementwise} operator. @see add_elementwise().
191
+ // * Describes the parameters needed for an @oper{add_elementwise} operator.
192
+ // @see add_elementwise().
194
193
  // */
195
194
  // typedef struct {
196
195
  // /**
@@ -219,35 +218,38 @@ void mul_elementwise(int8_t* in1_data, int8_t* in2_data, int element_count, nn_m
219
218
  // } nn_add_params_t;
220
219
 
221
220
  typedef struct {
222
- int16_t m1[16];
223
- int16_t m2[16];
224
- int16_t shift[16];
225
- int16_t bias_hi[16];
226
- int16_t bias_lo[16];
221
+ int16_t m1[16];
222
+ int16_t m2[16];
223
+ int16_t shift[16];
224
+ int16_t bias_hi[16];
225
+ int16_t bias_lo[16];
227
226
  } nn_add_params_t;
228
227
 
229
228
  /**
230
229
  * @brief Invoke an @oper{add_elementwise} job.
231
230
  *
232
- * The @oper{add_elementwise} operator adds together two quantized 8-bit input vectors, @tensor{x_0} and @tensor{x_1}
233
- * element-by-element to produce the output vector @tensor{y}. This function assumes that the input vectors and the
234
- * output vector each require different quantization parameters.
231
+ * The @oper{add_elementwise} operator adds together two quantized 8-bit input
232
+ * vectors, @tensor{x_0} and @tensor{x_1} element-by-element to produce the
233
+ * output vector @tensor{y}. This function assumes that the input vectors and
234
+ * the output vector each require different quantization parameters.
235
235
  *
236
- * In order to add together two quantized vectors, their quantization parameters must match. The contents of `params`
237
- * indicate how to do this.
236
+ * In order to add together two quantized vectors, their quantization parameters
237
+ * must match. The contents of `params` indicate how to do this.
238
238
  *
239
239
  * @par Parameter Details
240
240
  *
241
241
  * `Y` points to the output vector @tensor{y} with shape @tensor_shape{N}.
242
242
  *
243
- * `X0` and `X1` respectively point to the first and second input vectors @tensor{x_0} and @tensor{x_1}, each with shape
243
+ * `X0` and `X1` respectively point to the first and second input vectors
244
+ * @tensor{x_0} and @tensor{x_1}, each with shape
244
245
  * @tensor_shape{N}.
245
246
  *
246
- * `params` describes the parameters @math{s_i}, @math{m_i}, @math{b} and @math{s_{out}} which are applied for each
247
- * output element.
247
+ * `params` describes the parameters @math{s_i}, @math{m_i}, @math{b} and
248
+ * @math{s_{out}} which are applied for each output element.
248
249
  *
249
- * `elm_start` and `elm_count` together specify which output elements @math{y[k]} should be calculated by this
250
- * invocation. Specifically, this invocation will calculate @math{y[k]} for which `elm_start` @math{\le k \lt}
250
+ * `elm_start` and `elm_count` together specify which output elements
251
+ * @math{y[k]} should be calculated by this invocation. Specifically, this
252
+ * invocation will calculate @math{y[k]} for which `elm_start` @math{\le k \lt}
251
253
  * `(elm_start + elm_count)`.
252
254
  *
253
255
  * @param[out] Y The output vector @tensor{y}
@@ -257,30 +259,26 @@ typedef struct {
257
259
  * @param[in] elm_start Index of first output element to be computed
258
260
  * @param[in] elm_count Number of output elements to be computed
259
261
  */
260
- void add_elementwise(
261
- int8_t Y[],
262
- const int8_t X1[],
263
- const int8_t X2[],
264
- nn_add_params_t *p,
265
- const int elm_start,
266
- const int elm_count);
262
+ void add_elementwise(int8_t Y[], const int8_t X1[], const int8_t X2[],
263
+ nn_add_params_t *p, const int elm_start,
264
+ const int elm_count);
267
265
 
268
- /**
266
+ /**
269
267
  * @brief Execute @oper{lookup8} job.
270
- *
268
+ *
271
269
  * See @oper_ref{lookup8} for more details about the @oper{lookup8} operator.
272
- *
273
- * Unlike other operators, instances of @oper{lookup8} do not require plans or jobs and no initialization is
274
- * necessary.
275
- *
270
+ *
271
+ * Unlike other operators, instances of @oper{lookup8} do not require plans or
272
+ * jobs and no initialization is necessary.
273
+ *
276
274
  * `Y` points to the output vector @tensor{y} with length @math{N}.
277
- *
278
- * `X` points to the input vector @tensor{x} with length @math{N}.
279
- *
275
+ *
276
+ * `X` points to the input vector @tensor{x} with length @math{N}.
277
+ *
280
278
  * `lut` points to the look-up table @math{T} with shape @tensor_shape{256}.
281
- *
279
+ *
282
280
  * `N` is the length @math{N} of the input vector @tensor{x}.
283
- *
281
+ *
284
282
  * @requires_word_alignment{Y,X}
285
283
  *
286
284
  * @param Y [out] The output vector @tensor{y}
@@ -288,11 +286,20 @@ void add_elementwise(
288
286
  * @param lut [in] Look-up table @tensor{T}
289
287
  * @param N [in] Length @math{N} of input and output vectors
290
288
  */
291
- void lookup8(
292
- uint8_t* Y,
293
- const uint8_t* X,
294
- const uint8_t* lut,
295
- const unsigned elm_start,
296
- const unsigned elm_count);
289
+ void lookup8(uint8_t *Y, const uint8_t *X, const uint8_t *lut,
290
+ const unsigned elm_start, const unsigned elm_count);
291
+
292
+ void softmax_exp_sum(float *Y, const int8_t *X, const float *lut,
293
+ const unsigned elm_start, const unsigned elm_count);
294
+
295
+ void softmax_exp_div(int8_t *Y, const int8_t *X, const float *lut,
296
+ const float inv_sum, const unsigned elm_start,
297
+ const unsigned elm_count);
298
+
299
+ void softmax_calculate_inv_sum(float *inv_sum, const float sums[]);
300
+
301
+ void softmax_generate_exp_lut(int zero_point, float scale, float *lut);
297
302
 
298
- #endif // LAYERS_H_
303
+ void softmax_ref(int8_t *Y, const int8_t *X, const float zero_point,
304
+ const float scale, const int length);
305
+ #endif // LAYERS_H_
@@ -7,6 +7,7 @@
7
7
  #define ACTIVATION_FUNCTION /**/
8
8
  #endif
9
9
 
10
+ #include "nn_api.h"
10
11
  #include <stdint.h>
11
12
 
12
13
  #define QUADRATIC_APPROXIMATION_MAX_CHUNKS 2048
@@ -47,7 +48,7 @@ typedef float (*float_function_t)(float x);
47
48
  * \param max_error maximum error, ought to be 1
48
49
  * \param error sqrt of sum of squared errors.
49
50
  */
50
- extern void quadratic_approximation_generator(
51
+ C_API void quadratic_approximation_generator(
51
52
  quadratic_function_table_t *table,
52
53
  ACTIVATION_FUNCTION float_function_t av,
53
54
  double input_scaler,
@@ -61,7 +62,7 @@ extern void quadratic_approximation_generator(
61
62
  * \param x the table
62
63
  * \returns The number of bytes in the table
63
64
  */
64
- extern uint32_t quadratic_function_table_number_bytes(quadratic_function_table_t *x);
65
+ C_API uint32_t quadratic_function_table_number_bytes(quadratic_function_table_t *x);
65
66
 
66
67
 
67
68
  /** Function that returns a pointer to the bytes in an approximation table
@@ -69,12 +70,12 @@ extern uint32_t quadratic_function_table_number_bytes(quadratic_function_table_t
69
70
  * \param x the table
70
71
  * \returns Pointer to the bytes in the table
71
72
  */
72
- extern uint8_t *quadratic_function_table_bytes(quadratic_function_table_t *x);
73
+ C_API uint8_t *quadratic_function_table_bytes(quadratic_function_table_t *x);
73
74
 
74
75
  /** Example functions that can be passed in
75
76
  */
76
- extern float approximation_function_tanh(float x);
77
- extern float approximation_function_logistics(float x);
78
- extern float approximation_function_elu(float x);
77
+ C_API float approximation_function_tanh(float x);
78
+ C_API float approximation_function_logistics(float x);
79
+ C_API float approximation_function_elu(float x);
79
80
 
80
81
  #endif
@@ -9,7 +9,7 @@ namespace ops {
9
9
  namespace micro {
10
10
  namespace xcore {
11
11
 
12
- void calculateThreadSplit(int tc, int split_size, int split_start[], int split_end[]);
12
+ void calculateThreadSplit(int &tc, int split_size, int split_start[], int split_end[]);
13
13
 
14
14
  } // namespace xcore
15
15
  } // namespace micro
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xmos-ai-tools
3
- Version: 1.1.2.dev263
3
+ Version: 1.1.2.dev276
4
4
  Summary: XMOS AI Tools
5
5
  Home-page: https://github.com/xmos/ai_tools
6
6
  Author: XMOS
@@ -31,5 +31,5 @@ Requires-Dist: tflite >=2.4.0
31
31
  Documentation
32
32
  -------------
33
33
 
34
- Click [here](https://github.com/xmos/ai_tools/blob/3c0d86fafcd3d15bc990c408195f713aed12c306/README.md) for documentation on using xmos-ai-tools to deploy AI models on xcore.
34
+ Click [here](https://github.com/xmos/ai_tools/blob/fc0ce8436409aa258396c1cf20a0ff0fdc647745/README.md) for documentation on using xmos-ai-tools to deploy AI models on xcore.
35
35
 
@@ -43,7 +43,7 @@ xmos_ai_tools/runtime/include/lib_nn/api/nn_bin_types.h,sha256=DTFX2ecfzwl-_tHlq
43
43
  xmos_ai_tools/runtime/include/lib_nn/api/nn_config.h,sha256=KFoA5zyOTTHi6x-qDuIWkF8wAz4Gc4BdOBgUzOArOD0,11558
44
44
  xmos_ai_tools/runtime/include/lib_nn/api/nn_conv2d_structs.h,sha256=Kfyq3bD1aLcSnWTB_cijU_D5ThGol5utJ1k-WsjqeMY,2268
45
45
  xmos_ai_tools/runtime/include/lib_nn/api/nn_image.h,sha256=gz7NyxmZACZiDED0wT7px2qjEEMcUwfa5TjeOUmYzL4,514
46
- xmos_ai_tools/runtime/include/lib_nn/api/nn_layers.h,sha256=znneYtZCM-WEK896MB_Zy41MMiX3ROGxUVZ3iWNwAjc,9955
46
+ xmos_ai_tools/runtime/include/lib_nn/api/nn_layers.h,sha256=EUzNW8g-5DiLAbT3w-ZgL_0nX9ptUmB-vaMdbSroERA,10646
47
47
  xmos_ai_tools/runtime/include/lib_nn/api/nn_op_helper.h,sha256=VMnBVEcgH0wtiiV91JjtFRG4xkCI0m7WrikEmU6ulss,3716
48
48
  xmos_ai_tools/runtime/include/lib_nn/api/nn_op_utils.h,sha256=zoyHr07-ND_DCcS0ovehshCnXTrKBTlYOPX5Ul69JRs,4678
49
49
  xmos_ai_tools/runtime/include/lib_nn/api/nn_operator.h,sha256=Nj4jiXVHlnFjVBtV7mCGulTzSyNwCIpitz8Ao9kSIsU,337
@@ -53,7 +53,7 @@ xmos_ai_tools/runtime/include/lib_nn/api/nn_window_params.h,sha256=NeCS7hhE7tdmc
53
53
  xmos_ai_tools/runtime/include/lib_nn/api/output_transform_fn_int16.h,sha256=5Na926JTr8Sg0KfeSt3fapzJQdEX4Gmf_oXM_oGsFvM,2122
54
54
  xmos_ai_tools/runtime/include/lib_nn/api/output_transform_fn_int16_kernel_transform.h,sha256=9XRx__gL9IuiCsyNh3XrgCa_aWgC6j_2nXCS0a7asSU,390
55
55
  xmos_ai_tools/runtime/include/lib_nn/api/output_transform_fn_int16_mappings.h,sha256=claoCFq-IVmD1rDCjMRruum0u1-ADFC-5KE4FPLwLoU,482
56
- xmos_ai_tools/runtime/include/lib_nn/api/quadratic_approximation.h,sha256=Enia9kZgPM38oToGmRMJqIPOn1ZD0zeOJ8rwbL3Mrec,2699
56
+ xmos_ai_tools/runtime/include/lib_nn/api/quadratic_approximation.h,sha256=VnyV5igZCQml-SjUKg8fRydlZFzqjaIK0OOQU35gi7U,2713
57
57
  xmos_ai_tools/runtime/include/lib_nn/api/quadratic_interpolation.h,sha256=qNguTb1oiAJ_n1_wnSFXD4BEE8PTJqePph6FVnkrwac,816
58
58
  xmos_ai_tools/runtime/include/lib_nn/api/version.h,sha256=P0otpsAVvhiPNpXQu6uJUrjygoOTaHEJlIegIMyj_W4,303
59
59
  xmos_ai_tools/runtime/include/lib_nn/api/vpu_sim.h,sha256=3S1_2eSaEj2q8nhFuRiCefQhwTeYpfothuFu0fC54_s,3811
@@ -70,7 +70,7 @@ xmos_ai_tools/runtime/include/lib_tflite_micro/api/xcore_device_memory.h,sha256=
70
70
  xmos_ai_tools/runtime/include/lib_tflite_micro/api/xcore_shared_config.h,sha256=qv3cxHGUHDxdR0xlfdd0qWDOd4V0vwPkmYEVka_j6xw,1015
71
71
  xmos_ai_tools/runtime/include/lib_tflite_micro/src/thread_call.h,sha256=KNG-3gNWMSonzYTGbk4L0kT8WU9JD0bOzlk8naz7JO0,4965
72
72
  xmos_ai_tools/runtime/include/lib_tflite_micro/src/tflite-xcore-kernels/conv2d_float.h,sha256=XfVVWAKhbv6nByOzO1j6WA4oQ4RTX3PvYx22f-_3JFA,7681
73
- xmos_ai_tools/runtime/include/lib_tflite_micro/src/tflite-xcore-kernels/xcore_common.h,sha256=tpv6t6mDe5lR2gt_DRsl58RkOcbqBCh7XA_z7qYL48M,358
73
+ xmos_ai_tools/runtime/include/lib_tflite_micro/src/tflite-xcore-kernels/xcore_common.h,sha256=zLIvEU3IrdgACea8jrtNGzWzeLc8SpqyciLyR9NqoLA,359
74
74
  xmos_ai_tools/runtime/include/lib_tflite_micro/src/tflite-xcore-kernels/xcore_custom_options.h,sha256=8iD9kjYqpaGpAUfGzfYk7OaPZo1ewpL5bBnZECE6jEg,618
75
75
  xmos_ai_tools/runtime/include/lib_tflite_micro/src/tflite-xcore-kernels/xcore_error_reporter.h,sha256=fnSTiuJEL5cstbgtiM9rKwpCCNPHFEZr5b_Qu4PY1Yo,794
76
76
  xmos_ai_tools/runtime/include/lib_tflite_micro/src/tflite-xcore-kernels/xcore_interpreter.h,sha256=5-_cbV1uXQDTW51l3F3p06fZB4qx19Z848h9qtoAjE4,1753
@@ -369,17 +369,17 @@ xmos_ai_tools/runtime/include/tensorflow/lite/micro/tools/benchmarking/metrics.h
369
369
  xmos_ai_tools/runtime/include/tensorflow/lite/micro/tools/benchmarking/op_resolver.h,sha256=RGL4qxRe7mT-DjxD0NiFhRvVpuDn5xIuwXdrj6I9avs,6053
370
370
  xmos_ai_tools/runtime/include/tensorflow/lite/schema/schema_generated.h,sha256=V6KZsZ1QF0xtjxBnXJbk32hvtWYnaBkuURjk_Hs9ivs,1073395
371
371
  xmos_ai_tools/runtime/include/tensorflow/lite/schema/schema_utils.h,sha256=Iyv5Rn__Q15pfUm-9DvFU_GFF_8rplBNwor-V5TUi_0,1321
372
- xmos_ai_tools/runtime/lib/libhost_xtflitemicro.a,sha256=TYRLD-6G08aOCu9s4dbN0skCvw_ON0jS306o53LS42E,956112
373
- xmos_ai_tools/runtime/lib/libxtflitemicro.a,sha256=XynDOL43IjoGV0pM6S1qxJRnr5in7LMXVbVuC-gP5mY,68177756
372
+ xmos_ai_tools/runtime/lib/libhost_xtflitemicro.a,sha256=ku_d9ivwxZH1Y-HDePNZjXtqshKWkCrFOdskBMYPY1A,958088
373
+ xmos_ai_tools/runtime/lib/libxtflitemicro.a,sha256=zh4DPLFkseuLziV5BwkwI_pyHYs-C5x-GwaVzIPHpKA,68105316
374
374
  xmos_ai_tools/xformer/__init__.py,sha256=jA0xba6ZitK9HwWvDJewM8AMU4IZnx_iB1GSBrRUGvU,1627
375
375
  xmos_ai_tools/xformer/flash.py,sha256=MG4coi_Lvvg-oQmw1pomJD8eeOH4gAMjixjBFvO2BCk,6376
376
376
  xmos_ai_tools/xinterpreters/__init__.py,sha256=PFRB9VxOLKaA--j2ZvWGcmesv2C6uNYqJ_kBam68aUI,50
377
377
  xmos_ai_tools/xinterpreters/exceptions.py,sha256=HOjADxHYMPI9mN0YIbWxtw9hSeL2B6XWWwqtGtyJdVs,577
378
378
  xmos_ai_tools/xinterpreters/host_interpreter.py,sha256=vzRXpXwoObdbR7x-lnmfAxU5jHbneUead0BsKbT9BbI,25174
379
- xmos_ai_tools/xinterpreters/libs/macos/xtflm_python.1.0.1.dylib,sha256=LPayYyTG-E9MXQTvAZmGsgZgBIOwMwjfLX8iaBlrBP4,945205
380
- xmos_ai_tools/xinterpreters/libs/macos/xtflm_python.dylib,sha256=LPayYyTG-E9MXQTvAZmGsgZgBIOwMwjfLX8iaBlrBP4,945205
381
- xmos_ai_tools-1.1.2.dev263.data/data/bin/xcore-opt,sha256=xKfVP3qS5C5RHCxJPQE4BQL1sj5g18CLvrBPOYLDJ0c,143883590
382
- xmos_ai_tools-1.1.2.dev263.dist-info/METADATA,sha256=8VEZN9bW5dfyM_IoEmlJuZjyBKdM_d2JKwrcAGCypN4,1363
383
- xmos_ai_tools-1.1.2.dev263.dist-info/WHEEL,sha256=IPDqJGqJLX0u0WXkppbx2qlPtK5mpK7tD_Q6j3xfzzw,107
384
- xmos_ai_tools-1.1.2.dev263.dist-info/top_level.txt,sha256=YWegea73ll3tMlRWRdHJemUy2VOuEYDdOIaffxu_eF0,14
385
- xmos_ai_tools-1.1.2.dev263.dist-info/RECORD,,
379
+ xmos_ai_tools/xinterpreters/libs/macos/xtflm_python.1.0.1.dylib,sha256=U5sPzZPXtmrN4CsA4JWO33TukTydAvnm7h5QkQ9lXPM,945605
380
+ xmos_ai_tools/xinterpreters/libs/macos/xtflm_python.dylib,sha256=U5sPzZPXtmrN4CsA4JWO33TukTydAvnm7h5QkQ9lXPM,945605
381
+ xmos_ai_tools-1.1.2.dev276.data/data/bin/xcore-opt,sha256=1bJ7eNJG8fg6qIHAWUzAghTfpPYm-39f6w0ZvdP_6Kg,143883574
382
+ xmos_ai_tools-1.1.2.dev276.dist-info/METADATA,sha256=ZKYWNfX8fXE1rVnYK8P-ksHp7XD0U7_FyOLHTQcYkAE,1363
383
+ xmos_ai_tools-1.1.2.dev276.dist-info/WHEEL,sha256=IPDqJGqJLX0u0WXkppbx2qlPtK5mpK7tD_Q6j3xfzzw,107
384
+ xmos_ai_tools-1.1.2.dev276.dist-info/top_level.txt,sha256=YWegea73ll3tMlRWRdHJemUy2VOuEYDdOIaffxu_eF0,14
385
+ xmos_ai_tools-1.1.2.dev276.dist-info/RECORD,,