Imported Upstream version 1.7.0
[platform/core/ml/nnfw.git] / tests / nnapi / specs / skip / V1_2 / bidirectional_sequence_lstm_float16_batch_major_merge_outputs.mod.py
1 #
2 # Copyright (C) 2019 The Android Open Source Project
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #      http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16
17 # Bidirectional Sequence LSTM Test:
18 # FLOAT16, Batch Major, Merge Outputs.
19 # No Layer Normalization, No Cifg, No Peephole, No Projection, and No Clipping.
20
21 n_batch = 1
22 n_input = 2
23 n_cell = 4
24 n_output = 4
25 max_time = 3
26
27 input = Input("input", "TENSOR_FLOAT16", "{{{}, {}, {}}}".format(n_batch, max_time, n_input))
28
29 fw_input_to_input_weights = Input(
30     "fw_input_to_input_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
31 fw_input_to_forget_weights = Input(
32     "fw_input_to_forget_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
33 fw_input_to_cell_weights = Input(
34     "fw_input_to_cell_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
35 fw_input_to_output_weights = Input(
36     "fw_input_to_output_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
37
38 fw_recurrent_to_input_weights = Input(
39     "fw_recurrent_to_input_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_output))
40 fw_recurrent_to_forget_weights = Input(
41     "fw_recurrent_to_forget_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_output))
42 fw_recurrent_to_cell_weights = Input(
43     "fw_recurrent_to_cell_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_output))
44 fw_recurrent_to_output_weights = Input(
45     "fw_recurrent_to_output_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_output))
46
47 fw_cell_to_input_weights = Input(
48     "fw_cell_to_input_weights", "TENSOR_FLOAT16", "{{{}}}".format(n_cell))
49 fw_cell_to_forget_weights = Input(
50     "fw_cell_to_forget_weights", "TENSOR_FLOAT16", "{{{}}}".format(n_cell))
51 fw_cell_to_output_weights = Input(
52     "fw_cell_to_output_weights", "TENSOR_FLOAT16", "{{{}}}".format(n_cell))
53
54 fw_input_gate_bias = Input(
55     "fw_input_gate_bias", "TENSOR_FLOAT16", "{{{}}}".format(n_cell))
56 fw_forget_gate_bias = Input(
57     "fw_forget_gate_bias", "TENSOR_FLOAT16", "{{{}}}".format(n_cell))
58 fw_cell_bias = Input(
59     "fw_cell_bias", "TENSOR_FLOAT16", "{{{}}}".format(n_cell))
60 fw_output_gate_bias = Input(
61     "fw_output_gate_bias", "TENSOR_FLOAT16", "{{{}}}".format(n_cell))
62
63 fw_projection_weights = Input(
64     "fw_projection_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_output, n_cell))
65 fw_projection_bias = Input(
66     "fw_projection_bias", "TENSOR_FLOAT16", "{{{}}}".format(n_output))
67
68 bw_input_to_input_weights = Input(
69     "bw_input_to_input_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
70 bw_input_to_forget_weights = Input(
71     "bw_input_to_forget_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
72 bw_input_to_cell_weights = Input(
73     "bw_input_to_cell_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
74 bw_input_to_output_weights = Input(
75     "bw_input_to_output_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
76
77 bw_recurrent_to_input_weights = Input(
78     "bw_recurrent_to_input_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_output))
79 bw_recurrent_to_forget_weights = Input(
80     "bw_recurrent_to_forget_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_output))
81 bw_recurrent_to_cell_weights = Input(
82     "bw_recurrent_to_cell_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_output))
83 bw_recurrent_to_output_weights = Input(
84     "bw_recurrent_to_output_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_output))
85
86 bw_cell_to_input_weights = Input(
87     "bw_cell_to_input_weights", "TENSOR_FLOAT16", "{{{}}}".format(n_cell))
88 bw_cell_to_forget_weights = Input(
89     "bw_cell_to_forget_weights", "TENSOR_FLOAT16", "{{{}}}".format(n_cell))
90 bw_cell_to_output_weights = Input(
91     "bw_cell_to_output_weights", "TENSOR_FLOAT16", "{{{}}}".format(n_cell))
92
93 bw_input_gate_bias = Input(
94     "bw_input_gate_bias", "TENSOR_FLOAT16", "{{{}}}".format(n_cell))
95 bw_forget_gate_bias = Input(
96     "bw_forget_gate_bias", "TENSOR_FLOAT16", "{{{}}}".format(n_cell))
97 bw_cell_bias = Input(
98     "bw_cell_bias", "TENSOR_FLOAT16", "{{{}}}".format(n_cell))
99 bw_output_gate_bias = Input(
100     "bw_output_gate_bias", "TENSOR_FLOAT16", "{{{}}}".format(n_cell))
101
102 bw_projection_weights = Input(
103     "bw_projection_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_output, n_cell))
104 bw_projection_bias = Input(
105     "bw_projection_bias", "TENSOR_FLOAT16", "{{{}}}".format(n_output))
106
107 fw_activation_state = Input(
108     "fw_activatiom_state", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_batch, n_output))
109 fw_cell_state = Input(
110     "fw_cell_state", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_batch, n_cell))
111
112 bw_activation_state = Input(
113     "bw_activatiom_state", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_batch, n_output))
114 bw_cell_state = Input(
115     "bw_cell_state", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_batch, n_cell))
116
117 aux_input = Input("input", "TENSOR_FLOAT16", "{{{}, {}, {}}}".format(n_batch, max_time, n_input))
118
119 fw_aux_input_to_input_weights = Input(
120     "fw_aux_input_to_input_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
121 fw_aux_input_to_forget_weights = Input(
122     "fw_input_to_forget_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
123 fw_aux_input_to_cell_weights = Input(
124     "fw_aux_input_to_cell_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
125 fw_aux_input_to_output_weights = Input(
126     "fw_aux_input_to_output_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
127
128 bw_aux_input_to_input_weights = Input(
129     "bw_aux_input_to_input_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
130 bw_aux_input_to_forget_weights = Input(
131     "bw_input_to_forget_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
132 bw_aux_input_to_cell_weights = Input(
133     "bw_aux_input_to_cell_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
134 bw_aux_input_to_output_weights = Input(
135     "bw_aux_input_to_output_weights", "TENSOR_FLOAT16", "{{{}, {}}}".format(n_cell, n_input))
136
137 fw_input_layer_norm_weights = Input("input_layer_norm_weights", "TENSOR_FLOAT16", "{%d}" % n_cell)
138 fw_forget_layer_norm_weights = Input("forget_layer_norm_weights", "TENSOR_FLOAT16", "{%d}" % n_cell)
139 fw_cell_layer_norm_weights = Input("cell_layer_norm_weights", "TENSOR_FLOAT16", "{%d}" % n_cell)
140 fw_output_layer_norm_weights = Input("output_layer_norm_weights", "TENSOR_FLOAT16", "{%d}" % n_cell)
141
142 bw_input_layer_norm_weights = Input("input_layer_norm_weights", "TENSOR_FLOAT16", "{%d}" % n_cell)
143 bw_forget_layer_norm_weights = Input("forget_layer_norm_weights", "TENSOR_FLOAT16", "{%d}" % n_cell)
144 bw_cell_layer_norm_weights = Input("cell_layer_norm_weights", "TENSOR_FLOAT16", "{%d}" % n_cell)
145 bw_output_layer_norm_weights = Input("output_layer_norm_weights", "TENSOR_FLOAT16", "{%d}" % n_cell)
146
147 fw_output=Output("fw_output", "TENSOR_FLOAT16", "{{{}, {}, {}}}".format(n_batch, max_time,
148     2 * n_output))
149
150 def test(
151     name,
152     input_data=[],
153     fw_input_to_input_weights_data=[],
154     fw_input_to_forget_weights_data=[],
155     fw_input_to_cell_weights_data=[],
156     fw_input_to_output_weights_data=[],
157     fw_recurrent_to_input_weights_data=[],
158     fw_recurrent_to_forget_weights_data=[],
159     fw_recurrent_to_cell_weights_data=[],
160     fw_recurrent_to_output_weights_data=[],
161     fw_cell_to_input_weights_data=[],
162     fw_cell_to_forget_weights_data=[],
163     fw_cell_to_output_weights_data=[],
164     fw_input_gate_bias_data=[],
165     fw_forget_gate_bias_data=[],
166     fw_cell_bias_data=[],
167     fw_output_gate_bias_data=[],
168     fw_projection_weights_data=[],
169     fw_projection_bias_data=[],
170     bw_input_to_input_weights_data=[],
171     bw_input_to_forget_weights_data=[],
172     bw_input_to_cell_weights_data=[],
173     bw_input_to_output_weights_data=[],
174     bw_recurrent_to_input_weights_data=[],
175     bw_recurrent_to_forget_weights_data=[],
176     bw_recurrent_to_cell_weights_data=[],
177     bw_recurrent_to_output_weights_data=[],
178     bw_cell_to_input_weights_data=[],
179     bw_cell_to_forget_weights_data=[],
180     bw_cell_to_output_weights_data=[],
181     bw_input_gate_bias_data=[],
182     bw_forget_gate_bias_data=[],
183     bw_cell_bias_data=[],
184     bw_output_gate_bias_data=[],
185     bw_projection_weights_data=[],
186     bw_projection_bias_data=[],
187     fw_activation_state_data=[],
188     fw_cell_state_data=[],
189     bw_activation_state_data=[],
190     bw_cell_state_data=[],
191     aux_input_data=[],
192     fw_aux_input_to_input_weights_data=[],
193     fw_aux_input_to_forget_weights_data=[],
194     fw_aux_input_to_cell_weights_data=[],
195     fw_aux_input_to_output_weights_data=[],
196     bw_aux_input_to_input_weights_data=[],
197     bw_aux_input_to_forget_weights_data=[],
198     bw_aux_input_to_cell_weights_data=[],
199     bw_aux_input_to_output_weights_data=[],
200     fw_input_layer_norm_weights_data=[],
201     fw_forget_layer_norm_weights_data=[],
202     fw_cell_layer_norm_weights_data=[],
203     fw_output_layer_norm_weights_data=[],
204     bw_input_layer_norm_weights_data=[],
205     bw_forget_layer_norm_weights_data=[],
206     bw_cell_layer_norm_weights_data=[],
207     bw_output_layer_norm_weights_data=[],
208     fw_output_data=[]):
209
210   activation = Int32Scalar("activation", 4)
211   cell_clip = Float16Scalar("cell_clip", 0.0)
212   proj_clip = Float16Scalar("proj_clip", 0.0)
213   merge_outputs = BoolScalar("merge_outputs", True)
214   time_major = BoolScalar("time_major", False)
215
216   model = Model().Operation(
217       "BIDIRECTIONAL_SEQUENCE_LSTM",
218       input,
219       fw_input_to_input_weights,
220       fw_input_to_forget_weights,
221       fw_input_to_cell_weights,
222       fw_input_to_output_weights,
223       fw_recurrent_to_input_weights,
224       fw_recurrent_to_forget_weights,
225       fw_recurrent_to_cell_weights,
226       fw_recurrent_to_output_weights,
227       fw_cell_to_input_weights,
228       fw_cell_to_forget_weights,
229       fw_cell_to_output_weights,
230       fw_input_gate_bias,
231       fw_forget_gate_bias,
232       fw_cell_bias,
233       fw_output_gate_bias,
234       fw_projection_weights,
235       fw_projection_bias,
236       bw_input_to_input_weights,
237       bw_input_to_forget_weights,
238       bw_input_to_cell_weights,
239       bw_input_to_output_weights,
240       bw_recurrent_to_input_weights,
241       bw_recurrent_to_forget_weights,
242       bw_recurrent_to_cell_weights,
243       bw_recurrent_to_output_weights,
244       bw_cell_to_input_weights,
245       bw_cell_to_forget_weights,
246       bw_cell_to_output_weights,
247       bw_input_gate_bias,
248       bw_forget_gate_bias,
249       bw_cell_bias,
250       bw_output_gate_bias,
251       bw_projection_weights,
252       bw_projection_bias,
253       fw_activation_state,
254       fw_cell_state,
255       bw_activation_state,
256       bw_cell_state,
257       aux_input,
258       fw_aux_input_to_input_weights,
259       fw_aux_input_to_forget_weights,
260       fw_aux_input_to_cell_weights,
261       fw_aux_input_to_output_weights,
262       bw_aux_input_to_input_weights,
263       bw_aux_input_to_forget_weights,
264       bw_aux_input_to_cell_weights,
265       bw_aux_input_to_output_weights,
266       activation, cell_clip, proj_clip, merge_outputs, time_major,
267       fw_input_layer_norm_weights,
268       fw_forget_layer_norm_weights,
269       fw_cell_layer_norm_weights,
270       fw_output_layer_norm_weights,
271       bw_input_layer_norm_weights,
272       bw_forget_layer_norm_weights,
273       bw_cell_layer_norm_weights,
274       bw_output_layer_norm_weights,).To(fw_output)
275
276   example = Example(
277       {
278           input: input_data,
279           fw_input_to_input_weights: fw_input_to_input_weights_data,
280           fw_input_to_forget_weights: fw_input_to_forget_weights_data,
281           fw_input_to_cell_weights: fw_input_to_cell_weights_data,
282           fw_input_to_output_weights: fw_input_to_output_weights_data,
283           fw_recurrent_to_input_weights: fw_recurrent_to_input_weights_data,
284           fw_recurrent_to_forget_weights: fw_recurrent_to_forget_weights_data,
285           fw_recurrent_to_cell_weights: fw_recurrent_to_cell_weights_data,
286           fw_recurrent_to_output_weights: fw_recurrent_to_output_weights_data,
287           fw_cell_to_input_weights: fw_cell_to_input_weights_data,
288           fw_cell_to_forget_weights: fw_cell_to_forget_weights_data,
289           fw_cell_to_output_weights: fw_cell_to_output_weights_data,
290           fw_input_gate_bias: fw_input_gate_bias_data,
291           fw_forget_gate_bias: fw_forget_gate_bias_data,
292           fw_cell_bias: fw_cell_bias_data,
293           fw_output_gate_bias: fw_output_gate_bias_data,
294           fw_projection_weights: fw_projection_weights_data,
295           fw_projection_bias: fw_projection_bias_data,
296           bw_input_to_input_weights: bw_input_to_input_weights_data,
297           bw_input_to_forget_weights: bw_input_to_forget_weights_data,
298           bw_input_to_cell_weights: bw_input_to_cell_weights_data,
299           bw_input_to_output_weights: bw_input_to_output_weights_data,
300           bw_recurrent_to_input_weights: bw_recurrent_to_input_weights_data,
301           bw_recurrent_to_forget_weights: bw_recurrent_to_forget_weights_data,
302           bw_recurrent_to_cell_weights: bw_recurrent_to_cell_weights_data,
303           bw_recurrent_to_output_weights: bw_recurrent_to_output_weights_data,
304           bw_cell_to_input_weights: bw_cell_to_input_weights_data,
305           bw_cell_to_forget_weights: bw_cell_to_forget_weights_data,
306           bw_cell_to_output_weights: bw_cell_to_output_weights_data,
307           bw_input_gate_bias: bw_input_gate_bias_data,
308           bw_forget_gate_bias: bw_forget_gate_bias_data,
309           bw_cell_bias: bw_cell_bias_data,
310           bw_output_gate_bias: bw_output_gate_bias_data,
311           bw_projection_weights: bw_projection_weights_data,
312           bw_projection_bias: bw_projection_bias_data,
313           fw_activation_state: fw_activation_state_data,
314           fw_cell_state: fw_cell_state_data,
315           bw_activation_state: bw_activation_state_data,
316           bw_cell_state: bw_cell_state_data,
317           aux_input: aux_input_data,
318           fw_aux_input_to_input_weights: fw_aux_input_to_input_weights_data,
319           fw_aux_input_to_forget_weights: fw_aux_input_to_forget_weights_data,
320           fw_aux_input_to_cell_weights: fw_aux_input_to_cell_weights_data,
321           fw_aux_input_to_output_weights: fw_aux_input_to_output_weights_data,
322           bw_aux_input_to_input_weights: bw_aux_input_to_input_weights_data,
323           bw_aux_input_to_forget_weights: bw_aux_input_to_forget_weights_data,
324           bw_aux_input_to_cell_weights: bw_aux_input_to_cell_weights_data,
325           bw_aux_input_to_output_weights: bw_aux_input_to_output_weights_data,
326           fw_input_layer_norm_weights: fw_input_layer_norm_weights_data,
327           fw_forget_layer_norm_weights: fw_forget_layer_norm_weights_data,
328           fw_cell_layer_norm_weights: fw_cell_layer_norm_weights_data,
329           fw_output_layer_norm_weights: fw_output_layer_norm_weights_data,
330           bw_input_layer_norm_weights: bw_input_layer_norm_weights_data,
331           bw_forget_layer_norm_weights: bw_forget_layer_norm_weights_data,
332           bw_cell_layer_norm_weights: bw_cell_layer_norm_weights_data,
333           bw_output_layer_norm_weights: bw_output_layer_norm_weights_data,
334           fw_output: fw_output_data,
335       },
336       model=model, name=name)
337
338
339 fw_input_to_input_weights_data = [
340     -0.45018822, -0.02338299, -0.0870589,
341     -0.34550029, 0.04266912, -0.15680569,
342     -0.34856534, 0.43890524
343 ]
344 bw_input_to_input_weights_data = fw_input_to_input_weights_data
345
346 fw_input_to_forget_weights_data = [
347     0.09701663, 0.20334584, -0.50592935,
348     -0.31343272, -0.40032279, 0.44781327,
349     0.01387155, -0.35593212
350 ]
351 bw_input_to_forget_weights_data = fw_input_to_forget_weights_data
352
353 fw_input_to_cell_weights_data = [
354     -0.50013041, 0.1370284, 0.11810488, 0.2013163,
355     -0.20583314, 0.44344562, 0.22077113,
356     -0.29909778
357 ]
358 bw_input_to_cell_weights_data = fw_input_to_cell_weights_data
359
360 fw_input_to_output_weights_data = [
361     -0.25065863, -0.28290087, 0.04613829,
362     0.40525138, 0.44272184, 0.03897077, -0.1556896,
363     0.19487578
364 ]
365 bw_input_to_output_weights_data = fw_input_to_output_weights_data
366
367 fw_recurrent_to_input_weights_data = [
368     -0.0063535, -0.2042388, 0.31454784, -0.35746509, 0.28902304, 0.08183324,
369     -0.16555229, 0.02286911, -0.13566875, 0.03034258, 0.48091322,
370     -0.12528998, 0.24077177, -0.51332325, -0.33502164, 0.10629296
371 ]
372 bw_recurrent_to_input_weights_data = fw_recurrent_to_input_weights_data
373
374 fw_recurrent_to_forget_weights_data = [
375     -0.48684245, -0.06655136, 0.42224967, 0.2112639, 0.27654213, 0.20864892,
376     -0.07646349, 0.45877004, 0.00141793, -0.14609534, 0.36447752, 0.09196436,
377     0.28053468, 0.01560611, -0.20127171, -0.01140004
378 ]
379 bw_recurrent_to_forget_weights_data = fw_recurrent_to_forget_weights_data
380
381 fw_recurrent_to_cell_weights_data = [
382     -0.3407414, 0.24443203, -0.2078532, 0.26320225, 0.05695659, -0.00123841,
383     -0.4744786, -0.35869038, -0.06418842, -0.13502428, -0.501764, 0.22830659,
384     -0.46367589, 0.26016325, -0.03894562, -0.16368064
385 ]
386 bw_recurrent_to_cell_weights_data = fw_recurrent_to_cell_weights_data
387
388 fw_recurrent_to_output_weights_data = [
389     0.43385774, -0.17194885, 0.2718237, 0.09215671, 0.24107647, -0.39835793,
390     0.18212086, 0.01301402, 0.48572797, -0.50656658, 0.20047462, -0.20607421,
391     -0.51818722, -0.15390486, 0.0468148, 0.39922136
392 ]
393 bw_recurrent_to_output_weights_data = fw_recurrent_to_output_weights_data
394
395 fw_input_gate_bias_data = [0.0, 0.0, 0.0, 0.0]
396 bw_input_gate_bias_data = [0.0, 0.0, 0.0, 0.0]
397
398 fw_forget_gate_bias_data = [1.0, 1.0, 1.0, 1.0]
399 bw_forget_gate_bias_data = [1.0, 1.0, 1.0, 1.0]
400
401 fw_cell_bias_data = [0.0, 0.0, 0.0, 0.0]
402 bw_cell_bias_data = [0.0, 0.0, 0.0, 0.0]
403
404 fw_output_gate_bias_data = [0.0, 0.0, 0.0, 0.0]
405 bw_output_gate_bias_data = [0.0, 0.0, 0.0, 0.0]
406
407 input_data = [2.0, 3.0, 3.0, 4.0, 1.0, 1.0]
408
409 fw_activation_state_data = [0 for _ in range(n_batch * n_output)]
410 bw_activation_state_data = [0 for _ in range(n_batch * n_output)]
411
412 fw_cell_state_data = [0 for _ in range(n_batch * n_cell)]
413 bw_cell_state_data = [0 for _ in range(n_batch * n_cell)]
414
415 fw_golden_output_data = [
416     -0.02973187, 0.1229473,  0.20885126, -0.15358765, -0.0806187, 0.139077, 0.400476, -0.197842,
417     -0.03716109, 0.12507336, 0.41193449, -0.20860538, -0.0332076, 0.123838, 0.309777, -0.17621,
418     -0.15053082, 0.09120187, 0.24278517, -0.12222792, -0.0490733, 0.0739237, 0.067706, -0.0208124
419 ]
420
421
422 test(
423     name="blackbox",
424     input_data=input_data,
425     fw_input_to_input_weights_data=fw_input_to_input_weights_data,
426     fw_input_to_forget_weights_data=fw_input_to_forget_weights_data,
427     fw_input_to_cell_weights_data=fw_input_to_cell_weights_data,
428     fw_input_to_output_weights_data=fw_input_to_output_weights_data,
429     fw_recurrent_to_input_weights_data=fw_recurrent_to_input_weights_data,
430     fw_recurrent_to_forget_weights_data=fw_recurrent_to_forget_weights_data,
431     fw_recurrent_to_cell_weights_data=fw_recurrent_to_cell_weights_data,
432     fw_recurrent_to_output_weights_data=fw_recurrent_to_output_weights_data,
433     fw_input_gate_bias_data=fw_input_gate_bias_data,
434     fw_forget_gate_bias_data=fw_forget_gate_bias_data,
435     fw_cell_bias_data=fw_cell_bias_data,
436     fw_output_gate_bias_data=fw_output_gate_bias_data,
437     bw_input_to_input_weights_data=bw_input_to_input_weights_data,
438     bw_input_to_forget_weights_data=bw_input_to_forget_weights_data,
439     bw_input_to_cell_weights_data=bw_input_to_cell_weights_data,
440     bw_input_to_output_weights_data=bw_input_to_output_weights_data,
441     bw_recurrent_to_input_weights_data=bw_recurrent_to_input_weights_data,
442     bw_recurrent_to_forget_weights_data=bw_recurrent_to_forget_weights_data,
443     bw_recurrent_to_cell_weights_data=bw_recurrent_to_cell_weights_data,
444     bw_recurrent_to_output_weights_data=bw_recurrent_to_output_weights_data,
445     bw_input_gate_bias_data=bw_input_gate_bias_data,
446     bw_forget_gate_bias_data=bw_forget_gate_bias_data,
447     bw_cell_bias_data=bw_cell_bias_data,
448     bw_output_gate_bias_data=bw_output_gate_bias_data,
449     fw_activation_state_data = fw_activation_state_data,
450     bw_activation_state_data = bw_activation_state_data,
451     fw_cell_state_data = fw_cell_state_data,
452     bw_cell_state_data = bw_cell_state_data,
453     fw_output_data=fw_golden_output_data,
454 )