gen_tf_pb.py 23.9 KB
Newer Older
1
2
3
# This script generates tf pb files for MIGraphX tf operator tests.
# To generate an individual pb file, you can use the following
# command: python -c "import gen_tf_pb; gen_tf_pb.{test_name}_test()"
Khalique's avatar
Khalique committed
4
5
import tensorflow as tf

Khalique's avatar
Khalique committed
6

Khalique's avatar
Khalique committed
7
8
9
10
def tf_test(op_test):
    def run_test():
        g1 = tf.Graph()
        op_test(g1)
Khalique's avatar
Khalique committed
11
12
13
14
15
        tf.io.write_graph(g1,
                          '.',
                          '{}.pb'.format(op_test.__name__),
                          as_text=False)

Khalique's avatar
Khalique committed
16
    return run_test
Khalique's avatar
Khalique committed
17

Khalique's avatar
Khalique committed
18

Khalique's avatar
Khalique committed
19
20
@tf_test
def add_test(g1):
Khalique's avatar
Khalique committed
21
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
22
23
24
25
26
27
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 2, 2, 3),
                                            name='0')
        g2_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 2, 2, 3),
                                            name='1')
Khalique's avatar
Khalique committed
28
29
        tf.add(g1_input, g2_input, name='add1')

Khalique's avatar
Khalique committed
30

kahmed10's avatar
kahmed10 committed
31
32
33
34
35
36
37
38
39
40
41
42
@tf_test
def addv2_test(g1):
    with g1.as_default():
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 2, 2, 3),
                                            name='0')
        g2_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 2, 2, 3),
                                            name='1')
        tf.raw_ops.AddV2(x=g1_input, y=g2_input, name='add1')


Khalique's avatar
Khalique committed
43
44
@tf_test
def add_bcast_test(g1):
Khalique's avatar
Khalique committed
45
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
46
47
        g1_input = tf.compat.v1.placeholder(tf.float32, shape=(2, 3), name='0')
        g2_input = tf.compat.v1.placeholder(tf.float32, shape=(2, 1), name='1')
Khalique's avatar
Khalique committed
48
49
        tf.math.add(g1_input, g2_input, name='add_bcast1')

Khalique's avatar
Khalique committed
50

51
52
53
@tf_test
def argmax_test(g1):
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
54
55
56
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(3, 4, 5, 6),
                                            name='0')
57
58
59
60
61
62
        tf.argmax(g1_input, axis=2, name='argmax1')


@tf_test
def argmin_test(g1):
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
63
64
65
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(3, 4, 5, 6),
                                            name='0')
66
67
68
        tf.argmin(g1_input, axis=2, name='argmin1')


Khalique's avatar
Khalique committed
69
70
@tf_test
def assert_less_equal_test(g1):
Khalique's avatar
Khalique committed
71
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
72
73
        g1_input = tf.compat.v1.placeholder(tf.float32, shape=(2, 3), name='0')
        g2_input = tf.compat.v1.placeholder(tf.float32, shape=(2, 3), name='1')
Khalique's avatar
Khalique committed
74
        with tf.control_dependencies(
kahmed10's avatar
kahmed10 committed
75
            [tf.compat.v1.assert_less_equal(g1_input, g2_input)]):
Khalique's avatar
Khalique committed
76
77
            tf.add(g1_input, g2_input, name='add1')

Khalique's avatar
Khalique committed
78

Khalique's avatar
Khalique committed
79
80
@tf_test
def batchmatmul_test(g1):
Khalique's avatar
Khalique committed
81
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
82
83
84
85
86
87
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 2, 8, 4),
                                            name='0')
        g2_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 2, 4, 8),
                                            name='1')
Khalique's avatar
Khalique committed
88
89
90
91
92
93
        tf.matmul(g1_input,
                  g2_input,
                  transpose_a=True,
                  transpose_b=True,
                  name='batchmatmul1')

Khalique's avatar
Khalique committed
94

Khalique's avatar
Khalique committed
95
96
@tf_test
def batchnorm_test(g1):
Khalique's avatar
Khalique committed
97
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 16, 16, 32),
                                            name='0')
        g1_scale = tf.constant(1.0, dtype=tf.float32, shape=[32], name='1')
        g1_offset = tf.compat.v1.placeholder(tf.float32, shape=(32), name='2')
        g1_mean = tf.compat.v1.placeholder(tf.float32, shape=(32), name='3')
        g1_variance = tf.compat.v1.placeholder(tf.float32,
                                               shape=(32),
                                               name='4')
        tf.compat.v1.nn.fused_batch_norm(x=g1_input,
                                         scale=g1_scale,
                                         offset=g1_offset,
                                         mean=g1_mean,
                                         variance=g1_variance,
                                         epsilon=0.00001,
                                         is_training=False,
                                         name='batchnorm1')


@tf_test
def batchnormv3_test(g1):
    with g1.as_default():
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 16, 16, 32),
                                            name='0')
Khalique's avatar
Khalique committed
123
        g1_scale = tf.constant(1.0, dtype=tf.float32, shape=[32], name='1')
kahmed10's avatar
kahmed10 committed
124
125
126
127
128
129
130
131
132
133
134
135
136
        g1_offset = tf.compat.v1.placeholder(tf.float32, shape=(32), name='2')
        g1_mean = tf.compat.v1.placeholder(tf.float32, shape=(32), name='3')
        g1_variance = tf.compat.v1.placeholder(tf.float32,
                                               shape=(32),
                                               name='4')
        tf.raw_ops.FusedBatchNormV3(x=g1_input,
                                    scale=g1_scale,
                                    offset=g1_offset,
                                    mean=g1_mean,
                                    variance=g1_variance,
                                    epsilon=0.00001,
                                    is_training=False,
                                    name='batchnorm1')
Khalique's avatar
Khalique committed
137

Khalique's avatar
Khalique committed
138

Khalique's avatar
Khalique committed
139
140
@tf_test
def biasadd_test(g1):
Khalique's avatar
Khalique committed
141
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
142
143
144
145
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 1, 1, 500),
                                            name='0')
        g2_input = tf.compat.v1.placeholder(tf.float32, shape=(500), name='1')
Khalique's avatar
Khalique committed
146
147
        tf.nn.bias_add(g1_input, g2_input, name='bias_add1')

Khalique's avatar
Khalique committed
148

kahmed10's avatar
kahmed10 committed
149
150
151
152
153
154
155
156
@tf_test
def biasadd_scalar_test(g1):
    with g1.as_default():
        g1_input = tf.compat.v1.placeholder(tf.float32, shape=(1, 1), name='0')
        g2_const = tf.constant(1.0, tf.float32, shape=(1, ), name='1')
        tf.nn.bias_add(g1_input, g2_const, name='bias_add1')


Khalique's avatar
Khalique committed
157
158
@tf_test
def cast_test(g1):
Khalique's avatar
Khalique committed
159
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
160
161
162
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 3, 16, 16),
                                            name='0')
Khalique's avatar
Khalique committed
163
164
        tf.cast(g1_input, dtype=tf.int32, name='cast1')

Khalique's avatar
Khalique committed
165

Khalique's avatar
Khalique committed
166
167
@tf_test
def concat_test(g1):
Khalique's avatar
Khalique committed
168
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
169
170
171
172
173
174
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(4, 7, 3),
                                            name='0')
        g2_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(4, 2, 3),
                                            name='1')
Khalique's avatar
Khalique committed
175
176
        tf.concat([g1_input, g2_input], axis=1, name='concat1')

Khalique's avatar
Khalique committed
177

Khalique's avatar
Khalique committed
178
179
@tf_test
def const_test(g1):
Khalique's avatar
Khalique committed
180
    with g1.as_default():
Khalique's avatar
Khalique committed
181
182
        tf.constant(1.0, dtype=tf.float32, name='constant1')

Khalique's avatar
Khalique committed
183

Khalique's avatar
Khalique committed
184
185
@tf_test
def conv_test(g1):
Khalique's avatar
Khalique committed
186
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
187
188
189
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 16, 16, 3),
                                            name='0')
Khalique's avatar
Khalique committed
190
191
192
193
194
195
        g1_weights = tf.constant(value=1.0,
                                 dtype=tf.float32,
                                 shape=(3, 3, 3, 32),
                                 name='1')
        tf.nn.conv2d(g1_input, g1_weights, [1, 1, 1, 1], "SAME", name='conv1')

Khalique's avatar
Khalique committed
196

kahmed10's avatar
kahmed10 committed
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
@tf_test
def conv_add_test(g1):
    with g1.as_default():
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 16, 16, 3),
                                            name='0')
        g1_weights = tf.constant(value=1.0,
                                 dtype=tf.float32,
                                 shape=(3, 3, 3, 32),
                                 name='1')
        conv = tf.nn.conv2d(g1_input,
                            g1_weights, [1, 1, 1, 1],
                            "SAME",
                            name='conv1')
        tf.add(conv, conv, name='add1')


kahmed10's avatar
kahmed10 committed
214
215
216
217
218
219
220
221
222
223
224
225
226
@tf_test
def conv_batch_test(g1):
    with g1.as_default():
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(None, 16, 16, 3),
                                            name='0')
        g1_weights = tf.constant(value=1.0,
                                 dtype=tf.float32,
                                 shape=(3, 3, 3, 32),
                                 name='1')
        tf.nn.conv2d(g1_input, g1_weights, [1, 1, 1, 1], "SAME", name='conv1')


kahmed10's avatar
kahmed10 committed
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
@tf_test
def conv_nchw_test(g1):
    with g1.as_default():
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 3, 16, 16),
                                            name='0')
        g1_weights = tf.constant(value=1.0,
                                 dtype=tf.float32,
                                 shape=(3, 3, 3, 32),
                                 name='1')
        tf.nn.conv2d(g1_input,
                     g1_weights, [1, 1, 1, 1],
                     "SAME",
                     data_format='NCHW',
                     name='conv1')


kahmed10's avatar
kahmed10 committed
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
@tf_test
def conv_relu_test(g1):
    with g1.as_default():
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 16, 16, 3),
                                            name='0')
        g1_weights = tf.constant(value=1.0,
                                 dtype=tf.float32,
                                 shape=(3, 3, 3, 32),
                                 name='1')
        conv = tf.nn.conv2d(g1_input,
                            g1_weights, [1, 1, 1, 1],
                            "SAME",
                            name='conv1')
        tf.nn.relu(conv, name='relu1')


@tf_test
def conv_relu6_test(g1):
    with g1.as_default():
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 16, 16, 3),
                                            name='0')
        g1_weights = tf.constant(value=1.0,
                                 dtype=tf.float32,
                                 shape=(3, 3, 3, 32),
                                 name='1')
        conv = tf.nn.conv2d(g1_input,
                            g1_weights, [1, 1, 1, 1],
                            "SAME",
                            name='conv1')
        tf.nn.relu6(conv, name='relu1')


Khalique's avatar
Khalique committed
278
279
@tf_test
def depthwiseconv_test(g1):
Khalique's avatar
Khalique committed
280
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
281
282
283
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 16, 16, 3),
                                            name='0')
Khalique's avatar
Khalique committed
284
285
286
287
        g1_weights = tf.constant(value=1.0,
                                 dtype=tf.float32,
                                 shape=(3, 3, 3, 1),
                                 name='1')
kahmed10's avatar
kahmed10 committed
288
289
290
291
        tf.compat.v1.nn.depthwise_conv2d_native(g1_input,
                                                g1_weights, [1, 1, 1, 1],
                                                "SAME",
                                                name='depthwiseconv1')
Khalique's avatar
Khalique committed
292

Khalique's avatar
Khalique committed
293

Khalique's avatar
Khalique committed
294
295
@tf_test
def expanddims_test(g1):
Khalique's avatar
Khalique committed
296
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
297
298
299
300
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(2, 3, 4),
                                            name='0')
        tf.expand_dims(g1_input, axis=0, name='expanddims_neg')
Khalique's avatar
Khalique committed
301

Khalique's avatar
Khalique committed
302

Khalique's avatar
Khalique committed
303
304
@tf_test
def gather_test(g1):
Khalique's avatar
Khalique committed
305
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
306
        g1_input = tf.compat.v1.placeholder(tf.float32, shape=(2, 4), name='0')
Khalique's avatar
Khalique committed
307
308
        tf.gather(g1_input, [1, 1], axis=1, name='gather1')

Khalique's avatar
Khalique committed
309

Khalique's avatar
Khalique committed
310
311
@tf_test
def identity_test(g1):
Khalique's avatar
Khalique committed
312
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
313
314
315
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 3, 16, 16),
                                            name='0')
Khalique's avatar
Khalique committed
316
317
        tf.identity(g1_input, 'identity')

Khalique's avatar
Khalique committed
318

Khalique's avatar
Khalique committed
319
320
@tf_test
def matmul_test(g1):
Khalique's avatar
Khalique committed
321
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
322
323
        g1_input = tf.compat.v1.placeholder(tf.float32, shape=(8, 4), name='0')
        g2_input = tf.compat.v1.placeholder(tf.float32, shape=(4, 8), name='1')
Khalique's avatar
Khalique committed
324
325
326
327
328
329
        tf.matmul(g1_input,
                  g2_input,
                  transpose_a=True,
                  transpose_b=True,
                  name='matmul1')

Khalique's avatar
Khalique committed
330

Khalique's avatar
Khalique committed
331
332
@tf_test
def mean_test(g1):
Khalique's avatar
Khalique committed
333
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
334
335
336
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 3, 16, 16),
                                            name='0')
Khalique's avatar
Khalique committed
337
338
339
340
341
342
        tf.math.reduce_mean(g1_input, axis=(2, 3), keepdims=True, name='mean1')
        tf.math.reduce_mean(g1_input,
                            axis=(2, 3),
                            keepdims=False,
                            name='mean2')

Khalique's avatar
Khalique committed
343

Khalique's avatar
Khalique committed
344
345
@tf_test
def mean_test_nhwc(g1):
Khalique's avatar
Khalique committed
346
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
347
348
349
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 16, 16, 3),
                                            name='0')
Khalique's avatar
Khalique committed
350
351
352
353
354
        tf.math.reduce_mean(g1_input,
                            axis=(1, 2),
                            keepdims=False,
                            name='mean2')

Khalique's avatar
Khalique committed
355

Khalique's avatar
Khalique committed
356
357
@tf_test
def mul_test(g1):
Khalique's avatar
Khalique committed
358
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
359
360
361
362
363
364
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 1, 1, 16),
                                            name='0')
        g2_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 1, 1, 16),
                                            name='1')
Khalique's avatar
Khalique committed
365
366
        tf.multiply(g1_input, g2_input, name='mul1')

Khalique's avatar
Khalique committed
367

kahmed10's avatar
kahmed10 committed
368
369
370
371
372
373
374
375
376
377
@tf_test
def multi_output_test(g1):
    with g1.as_default():
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 3, 16, 16),
                                            name='0')
        tf.nn.relu(g1_input, 'relu')
        tf.tanh(g1_input, 'tanh')


kahmed10's avatar
kahmed10 committed
378
379
380
381
382
383
@tf_test
def noop_test(g1):
    with g1.as_default():
        tf.raw_ops.NoOp(name='noop1')


kahmed10's avatar
kahmed10 committed
384
385
386
387
388
389
390
@tf_test
def onehot_test(g1):
    with g1.as_default():
        g1_input = tf.constant((1, 1, 1, 1, 1), dtype=tf.int32)
        tf.one_hot(g1_input, 2, name='onehot1')


Khalique's avatar
Khalique committed
391
392
@tf_test
def pack_test(g1):
Khalique's avatar
Khalique committed
393
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
394
395
396
        g1_input = tf.compat.v1.placeholder(tf.float32, shape=(2), name='0')
        g2_input = tf.compat.v1.placeholder(tf.float32, shape=(2), name='1')
        g3_input = tf.compat.v1.placeholder(tf.float32, shape=(2), name='2')
Khalique's avatar
Khalique committed
397
398
        tf.stack([g1_input, g2_input, g3_input], axis=1, name='pack1')

Khalique's avatar
Khalique committed
399

Khalique's avatar
Khalique committed
400
401
@tf_test
def pack_test_nhwc(g1):
Khalique's avatar
Khalique committed
402
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
403
404
405
406
407
408
409
410
411
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 1, 1, 2),
                                            name='0')
        g2_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 1, 1, 2),
                                            name='1')
        g3_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 1, 1, 2),
                                            name='2')
Khalique's avatar
Khalique committed
412
413
        tf.stack([g1_input, g2_input, g3_input], axis=3, name='pack1')

Khalique's avatar
Khalique committed
414

kahmed10's avatar
kahmed10 committed
415
416
417
418
419
420
421
422
423
@tf_test
def pad_test(g1):
    with g1.as_default():
        g1_input = tf.compat.v1.placeholder(tf.float32, shape=(2, 4), name='0')
        paddings = tf.constant([[1, 1], [2, 2]])

        tf.pad(g1_input, paddings, name='pad1')


Khalique's avatar
Khalique committed
424
425
@tf_test
def pooling_test(g1):
Khalique's avatar
Khalique committed
426
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 16, 16, 3),
                                            name='0')
        tf.compat.v1.nn.avg_pool(value=g1_input,
                                 ksize=(1, 2, 2, 1),
                                 strides=(1, 2, 2, 1),
                                 padding='VALID',
                                 data_format='NHWC',
                                 name='avg_pooling')
        tf.compat.v1.nn.max_pool(value=g1_input,
                                 ksize=(1, 2, 2, 1),
                                 strides=(1, 2, 2, 1),
                                 padding='VALID',
                                 data_format='NHWC',
                                 name='max_pooling')
Khalique's avatar
Khalique committed
442

Khalique's avatar
Khalique committed
443

Khalique's avatar
Khalique committed
444
445
@tf_test
def pow_test(g1):
Khalique's avatar
Khalique committed
446
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
447
448
449
450
451
452
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 2, 2, 3),
                                            name='0')
        g2_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 2, 2, 3),
                                            name='1')
Khalique's avatar
Khalique committed
453
454
        tf.pow(g1_input, g2_input, name='pow1')

Khalique's avatar
Khalique committed
455

Khalique's avatar
Khalique committed
456
457
@tf_test
def relu_test(g1):
Khalique's avatar
Khalique committed
458
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
459
460
461
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 3, 16, 16),
                                            name='0')
Khalique's avatar
Khalique committed
462
463
        tf.nn.relu(g1_input, 'relu')

Khalique's avatar
Khalique committed
464

Khalique's avatar
Khalique committed
465
466
@tf_test
def relu6_test(g1):
Khalique's avatar
Khalique committed
467
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
468
469
470
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 3, 16, 16),
                                            name='0')
Khalique's avatar
Khalique committed
471
472
        tf.nn.relu6(g1_input, 'relu6')

Khalique's avatar
Khalique committed
473

474
475
476
477
478
479
480
481
482
@tf_test
def relu6_mismatch_test(g1):
    with g1.as_default():
        g1_input = tf.compat.v1.placeholder(tf.float16,
                                            shape=(1, 3, 13, 37),
                                            name='0')
        tf.nn.relu6(g1_input, 'relu6')


Khalique's avatar
Khalique committed
483
484
@tf_test
def reshape_test(g1):
Khalique's avatar
Khalique committed
485
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
486
        g1_input = tf.compat.v1.placeholder(tf.float32, shape=(16), name='0')
Khalique's avatar
Khalique committed
487
488
        tf.reshape(g1_input, (1, 1, 1, 16), 'reshape')

Khalique's avatar
Khalique committed
489

Khalique's avatar
Khalique committed
490
491
@tf_test
def rsqrt_test(g1):
Khalique's avatar
Khalique committed
492
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
493
494
495
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 3, 16, 16),
                                            name='0')
Khalique's avatar
Khalique committed
496
497
        tf.math.rsqrt(g1_input, 'rsqrt')

Khalique's avatar
Khalique committed
498

499
500
501
@tf_test
def shape_test(g1):
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
502
503
504
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 3, 16, 16),
                                            name='0')
505
506
507
    g1.create_op(op_type='Shape', inputs=[g1_input])


Khalique's avatar
Khalique committed
508
509
@tf_test
def slice_test(g1):
Khalique's avatar
Khalique committed
510
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
511
512
513
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(5, 10),
                                            name='0')
Khalique's avatar
Khalique committed
514
515
        tf.slice(g1_input, [1, 0], [2, -1], name='slice1')

Khalique's avatar
Khalique committed
516

Khalique's avatar
Khalique committed
517
518
@tf_test
def softmax_test(g1):
Khalique's avatar
Khalique committed
519
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
520
        g1_input = tf.compat.v1.placeholder(tf.float32, shape=(1, 3), name='0')
Khalique's avatar
Khalique committed
521
522
        tf.nn.softmax(g1_input, name='softmax')

Khalique's avatar
Khalique committed
523

kahmed10's avatar
kahmed10 committed
524
525
526
@tf_test
def split_test(g1):
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
527
528
529
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(5, 30),
                                            name='0')
kahmed10's avatar
kahmed10 committed
530
531
532
533
534
535
536
537
        split0, split1, split2 = tf.split(g1_input, 3, 1, name='split')
        tf.concat([split0, split1], axis=1, name='concat1')
        tf.concat([split1, split2], axis=1, name='concat2')


@tf_test
def split_test_one_output(g1):
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
538
539
540
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(5, 30),
                                            name='0')
kahmed10's avatar
kahmed10 committed
541
542
543
544
545
546
        tf.split(g1_input, 1, 1, name='split')


@tf_test
def split_test_vector_as_input(g1):
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
547
548
549
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(5, 30),
                                            name='0')
kahmed10's avatar
kahmed10 committed
550
551
552
553
554
555
556
        split0, split1, split2 = tf.split(g1_input, [4, 15, 11],
                                          1,
                                          name='split')
        tf.concat([split0, split1], axis=1, name='concat1')
        tf.concat([split1, split2], axis=1, name='concat2')


Khalique's avatar
Khalique committed
557
558
@tf_test
def sqdiff_test(g1):
Khalique's avatar
Khalique committed
559
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
560
561
562
563
564
565
566
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 2, 2, 3),
                                            name='0')
        g2_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 2, 2, 3),
                                            name='1')
        tf.compat.v1.squared_difference(g1_input, g2_input, name='sqdiff')
Khalique's avatar
Khalique committed
567

Khalique's avatar
Khalique committed
568

Khalique's avatar
Khalique committed
569
570
@tf_test
def squeeze_test(g1):
Khalique's avatar
Khalique committed
571
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
572
573
574
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 2, 3, 1),
                                            name='0')
Khalique's avatar
Khalique committed
575
576
        tf.squeeze(g1_input, name='squeeze')

Khalique's avatar
Khalique committed
577

Khalique's avatar
Khalique committed
578
579
@tf_test
def stopgradient_test(g1):
Khalique's avatar
Khalique committed
580
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
581
582
583
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 3, 16, 16),
                                            name='0')
Khalique's avatar
Khalique committed
584
585
        tf.stop_gradient(g1_input, 'stopgradient')

Khalique's avatar
Khalique committed
586

Khalique's avatar
Khalique committed
587
588
@tf_test
def stridedslice_test(g1):
Khalique's avatar
Khalique committed
589
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
590
591
592
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 1, 1, 10),
                                            name='0')
Khalique's avatar
Khalique committed
593
594
595
596
        tf.strided_slice(g1_input, [0, 0, 0, 0], [1, 1, 1, 5], [1, 1, 1, 1],
                         shrink_axis_mask=2,
                         name='stridedslice1')

Khalique's avatar
Khalique committed
597

Khalique's avatar
Khalique committed
598
599
@tf_test
def stridedslice_masks_test(g1):
Khalique's avatar
Khalique committed
600
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
601
602
603
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 3, 3, 10),
                                            name='0')
Khalique's avatar
Khalique committed
604
605
606
607
608
        tf.strided_slice(g1_input, [0, 1, 1, 0], [0, 0, 0, 0], [1, 1, 1, 1],
                         begin_mask=9,
                         end_mask=15,
                         name='stridedslice1')

Khalique's avatar
Khalique committed
609

Khalique's avatar
Khalique committed
610
611
@tf_test
def sub_test(g1):
Khalique's avatar
Khalique committed
612
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
613
614
615
616
617
618
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 2, 2, 3),
                                            name='0')
        g2_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 2, 2, 3),
                                            name='1')
Khalique's avatar
Khalique committed
619
620
        tf.subtract(g1_input, g2_input, name='sub1')

Khalique's avatar
Khalique committed
621

Khalique's avatar
Khalique committed
622
623
@tf_test
def tanh_test(g1):
Khalique's avatar
Khalique committed
624
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
625
626
627
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 3, 16, 16),
                                            name='0')
Khalique's avatar
Khalique committed
628
629
        tf.tanh(g1_input, 'tanh')

Khalique's avatar
Khalique committed
630

Khalique's avatar
Khalique committed
631
632
@tf_test
def transpose_test(g1):
Khalique's avatar
Khalique committed
633
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
634
635
636
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(1, 3, 16, 16),
                                            name='0')
Khalique's avatar
Khalique committed
637
        tf.transpose(g1_input, perm=[0, 2, 3, 1], name='transpose')
638
639
640
641
642


@tf_test
def variable_batch_test(g1):
    with g1.as_default():
kahmed10's avatar
kahmed10 committed
643
644
645
        g1_input = tf.compat.v1.placeholder(tf.float32,
                                            shape=(0, 3, 16, 16),
                                            name='0')
646
        tf.identity(g1_input, name='identity')
kahmed10's avatar
kahmed10 committed
647
648
649
650
651
652
653
654
655
656
657
658
659


if __name__ == '__main__':
    add_test()
    addv2_test()
    add_bcast_test()
    argmax_test()
    argmin_test()
    assert_less_equal_test()
    batchmatmul_test()
    batchnorm_test()
    batchnormv3_test()
    biasadd_test()
kahmed10's avatar
kahmed10 committed
660
    biasadd_scalar_test()
kahmed10's avatar
kahmed10 committed
661
662
663
664
    cast_test()
    concat_test()
    const_test()
    conv_test()
kahmed10's avatar
kahmed10 committed
665
    conv_add_test()
kahmed10's avatar
kahmed10 committed
666
    conv_batch_test()
kahmed10's avatar
kahmed10 committed
667
    conv_nchw_test()
kahmed10's avatar
kahmed10 committed
668
669
    conv_relu_test()
    conv_relu6_test()
kahmed10's avatar
kahmed10 committed
670
671
672
673
674
675
676
677
    depthwiseconv_test()
    expanddims_test()
    gather_test()
    identity_test()
    matmul_test()
    mean_test()
    mean_test_nhwc()
    mul_test()
kahmed10's avatar
kahmed10 committed
678
    multi_output_test()
kahmed10's avatar
kahmed10 committed
679
    noop_test()
kahmed10's avatar
kahmed10 committed
680
    onehot_test()
kahmed10's avatar
kahmed10 committed
681
682
    pack_test()
    pack_test_nhwc()
kahmed10's avatar
kahmed10 committed
683
    pad_test()
kahmed10's avatar
kahmed10 committed
684
685
686
687
    pooling_test()
    pow_test()
    relu_test()
    relu6_test()
688
    relu6_mismatch_test()
kahmed10's avatar
kahmed10 committed
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
    reshape_test()
    rsqrt_test()
    shape_test()
    slice_test()
    softmax_test()
    split_test()
    split_test_one_output()
    split_test_vector_as_input()
    sqdiff_test()
    squeeze_test()
    stopgradient_test()
    stridedslice_test()
    stridedslice_masks_test()
    sub_test()
    tanh_test()
    transpose_test()
    variable_batch_test()