From bcd8cc4910f3d2e029cdf6959eac6e7a3fd270e0 Mon Sep 17 00:00:00 2001 From: Frank Dong Date: Sat, 31 Oct 2020 04:33:40 +0000 Subject: [PATCH 1/3] add test model of use primitive type as input --- .../model_primitive_input_test.py | 14 ++++++++++++++ .../model_primitive_input_test/saved_model.pb | Bin 0 -> 15876 bytes 2 files changed, 14 insertions(+) create mode 100644 Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/model_primitive_input_test.py create mode 100644 Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/saved_model.pb diff --git a/Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/model_primitive_input_test.py b/Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/model_primitive_input_test.py new file mode 100644 index 0000000..6e7f0df --- /dev/null +++ b/Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/model_primitive_input_test.py @@ -0,0 +1,14 @@ +import tensorflow.compat.v1 as tf + +tf.disable_v2_behavior() + +input1 = tf.placeholder(tf.string, shape=(None), name="input1") +input2 = tf.placeholder(tf.string, shape=(None), name="input2") + +string_same = tf.cond(tf.equal(input1, input2), lambda: tf.constant(True), lambda: tf.constant(False)) + +with tf.Session() as sess: + string_same = sess.run(string_same, feed_dict={input1: "This is Text1", input2: "This is Text1"}) + print (string_same) + + tf.saved_model.simple_save(sess, r'model_primitive_input_test', inputs=inputs, outputs=outputs ) diff --git a/Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/saved_model.pb b/Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/saved_model.pb new file mode 100644 index 0000000000000000000000000000000000000000..4b7d1a7012ba7e92d4915d6b25959c4192a30c41 GIT binary patch literal 15876 zcmcJWTW{OQ6~{%%y7>4$xoO#U8>kC3&_itNZlN!6+M>G)C)-W>(7lAKSaiZhmQ;z} zB<*`IXo2>r=(p(CD$s|1fdbnhIdgc(;lz|Z$wMSkGw1y0&-sn!V%046-S6Sg753jU z450jQHeLGm4pe3r{`|skl*j(tx!c%*^0%YOh07|wJ6+BejV*{iVQazX@Dj>D`|ZVO z!YW|BX;@E#*SGxDE`#;EIy8O={9agecoSG_cl(A_T&t8z>$S~|ttzm_M^N{sr?d0< z$oHO4Txa=mG-qgQm9avC-wMVnZ zb9e|FpG`)m?#tO^>@HNtk_I(yLOE;_i(c%tVX5r^y2{dDc+(el zkrm)esDAE7BDh)NIr7KCpKW-zQF$7^CY+&0*dR(oPtqp^ou+n4+UUL{OlUvJz7SibV+j(a}mPZ=LS zoIvHtYtKJ@$>Xn$NB$`2X*F1zbF1oL@4;qdj&nAeEZv}2?81h)M}#R7>r=|@xpuIO-B>w!G0*3MR+%D zB~1+~!?m>jQu7BA`|M6?z*bT>s{xXMC!5%dc>l@m zD?EWc(!ut_aZ0x5w$h$8C=Lrrrr?lQZ@iaU zK`;HI1vfI1#r-wg7hA7T*O@<54A}%2);L$e*kHjXta(#DI!50hKZVi*=P)?{=qyc) zD*PhCnfGzvQI4-4@rJj|hdgvr!?6i3jf6axi{xmnY}4o8CRZ(|9nUcI z>OXwPk~x@7egYe(v*~zWESbd8$rj0@7nuk6QYAf^1E>Yqg$vbBVJnQa43}Sy&u|fL zM;}B zPH+dB4ybaMnj~x8edqKj$(@mq$XzRoyKaKJuIyzdxNB*+Yf0`}GFx8mT6*qevV7lc zk~<8jawh}E8nsUpxohofxg%}W$C2E%63cqY9g6j@&z;B+f6oc-Foyx|TKgH?VdCh! z&k@(x;4Za{)VjL@cSb@YckL|hdI|1&vX`0QuC3v&ExE&4YhLc!dhTSh)wsieDt9uV zbVN4*^BDkg*Vc1K+N$jtAh~O2a))9Ka3?Y-++hv_+_kf~!^DC+aeWQ$QrjI`cUR!f zNJ!+alf_*>!ChbWG85c&G~9J0cQ~uf%Uws$olLeGcNkFRP6m{Y^h+cS{6 zP9}FK)&O@RgTfu=Fu+|Wi#tp#xD(eaardb>Z#J?&CW9H-B07Ouv~$OeO&r5&pZPmS z0~yZHp4bby;_S+i0M**jJDy1PcM~H(S2F^1%1dCS3d&CWUGw;7*HJnWI*Xi zo)Ms{9|1^PwY>pHfNtgpfMN}d03w4j0$>gUBS1H61i-{%1Q6FNjQ|o1Lp!@NoS|J^ z3)$r;Y4^K#bHb0(9m#u)}wIgW^v%a1) znQS%AFrdnr47dtseLZKSt(SAw&*Tin8sJQ1P&mUJ1~}_yafXQnXX5&boEbSwi;&`P~}Vpj5X@{kS7!aJ!hn? z`Z#jOW{}AliZ#HQ$e?hBISg<%$l?qW3(my#6*)6+9dYEyPhoxjce3n1ci6x0z#pvWv~xc^oDDzN4&KUV zGd!@v!(;4A!-Kn4lOF|!g&qcf?l3$MA;bX_zfMKPsk=8;A{Bk?n&p=WKyGdwjy z&+rr`>6thyL1Cn#@QhYO&qy&LjNFMmBf`)#Qc!q?8K`GM80lxEVp9Fv}jok0{vDhkhNMf8jm6T--y*fSywJtGB$XPAL{hFh3KSfF<&j1`Bk?n& zp=W)?Gu*pC&u}jw>6uuuqcBoYct$ItXQY@AM()I(5n<>VDJVR{4Ae8+TF4`fdPd@B zNJGyCif6bEMbB_um-I}mzEBvcC_JMT(KAv^2qSl5&xkPej1&}}VFv0ME)(-eqn?rY z8Pd?RBgHdZQ=n%!M^AbtX3{8(R1}`kis%_BCWMhYv1ddWdPWKg&oBe^45$2gq*2dE zd{tWW8`uecsmg!H>x|vA(Z$4PC%}TAsPZ2{@ZV1i4|c0I|GO3Ty~OV^lONi4^o!rK P$?WyM2p3L>y;J}H!Z~#L literal 0 HcmV?d00001 From 034206c1668fda20477ef5448f64c78adf3db828 Mon Sep 17 00:00:00 2001 From: Frank Dong Date: Wed, 4 Nov 2020 01:51:15 +0000 Subject: [PATCH 2/3] fix for tensorflow output --- .../model_primitive_input_test.py | 6 +++++- .../model_primitive_input_test/saved_model.pb | Bin 15876 -> 3202 bytes 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/model_primitive_input_test.py b/Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/model_primitive_input_test.py index 6e7f0df..e207f40 100644 --- a/Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/model_primitive_input_test.py +++ b/Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/model_primitive_input_test.py @@ -5,10 +5,14 @@ input1 = tf.placeholder(tf.string, shape=(None), name="input1") input2 = tf.placeholder(tf.string, shape=(None), name="input2") +inputs = {'input1': input1, 'input2': input2} + string_same = tf.cond(tf.equal(input1, input2), lambda: tf.constant(True), lambda: tf.constant(False)) +outputs = {'string_same':string_same} + with tf.Session() as sess: string_same = sess.run(string_same, feed_dict={input1: "This is Text1", input2: "This is Text1"}) print (string_same) - tf.saved_model.simple_save(sess, r'model_primitive_input_test', inputs=inputs, outputs=outputs ) + tf.saved_model.simple_save(sess, r'model_primitive_input_test2', inputs=inputs, outputs=outputs ) diff --git a/Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/saved_model.pb b/Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/saved_model.pb index 4b7d1a7012ba7e92d4915d6b25959c4192a30c41..cdf29fcc3d98602d1c5a77118d785919e90ccbcd 100644 GIT binary patch delta 684 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 P$?WyM2p3L>y;J}H!Z~#L From 3b3dfd7386b6f0cbc5ff4e92878adbe0e9d0e32a Mon Sep 17 00:00:00 2001 From: Frank Dong Date: Wed, 4 Nov 2020 04:44:10 +0000 Subject: [PATCH 3/3] update tests --- .../model_primitive_input_test.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/model_primitive_input_test.py b/Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/model_primitive_input_test.py index e207f40..82796f4 100644 --- a/Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/model_primitive_input_test.py +++ b/Microsoft.ML.TensorFlow.TestModels/model_primitive_input_test/model_primitive_input_test.py @@ -2,17 +2,17 @@ tf.disable_v2_behavior() -input1 = tf.placeholder(tf.string, shape=(None), name="input1") -input2 = tf.placeholder(tf.string, shape=(None), name="input2") +input1 = tf.placeholder(tf.string, name="input1") +input2 = tf.placeholder(tf.string, name="input2") inputs = {'input1': input1, 'input2': input2} -string_same = tf.cond(tf.equal(input1, input2), lambda: tf.constant(True), lambda: tf.constant(False)) +string_merge = tf.add(input1, input2, name="string_merge") -outputs = {'string_same':string_same} +outputs = {'string_merge':string_merge} with tf.Session() as sess: - string_same = sess.run(string_same, feed_dict={input1: "This is Text1", input2: "This is Text1"}) - print (string_same) - - tf.saved_model.simple_save(sess, r'model_primitive_input_test2', inputs=inputs, outputs=outputs ) + string_merge = sess.run(string_merge, feed_dict={input1: "This is Text1", input2: "This is Text2"}) + print (string_merge) + + tf.saved_model.simple_save(sess, r'model_primitive_input_test', inputs=inputs, outputs=outputs )