@@ -708,3 +708,45 @@ def test_tensorflow_modelrun_financialNet(env):
708708 'referenceTensor:{}' .format (tensor_number ), 'OUTPUTS' ,
709709 'classificationTensor:{}_{}' .format (tensor_number , repetition ))
710710 env .assertEqual (ret , b'OK' )
711+
712+
713+ def test_tensorflow_modelrun_financialNet_multiproc (env ):
714+ con = env .getConnection ()
715+
716+ model_pb , creditcard_transactions , creditcard_referencedata = load_creditcardfraud_data (env )
717+
718+ tensor_number = 1
719+ for transaction_tensor in creditcard_transactions :
720+ ret = con .execute_command ('AI.TENSORSET' , 'transactionTensor:{0}' .format (tensor_number ),
721+ 'FLOAT' , 1 , 30 ,
722+ 'BLOB' , transaction_tensor .tobytes ())
723+ env .assertEqual (ret , b'OK' )
724+ tensor_number = tensor_number + 1
725+
726+ tensor_number = 1
727+ for reference_tensor in creditcard_referencedata :
728+ ret = con .execute_command ('AI.TENSORSET' , 'referenceTensor:{0}' .format (tensor_number ),
729+ 'FLOAT' , 1 , 256 ,
730+ 'BLOB' , reference_tensor .tobytes ())
731+ env .assertEqual (ret , b'OK' )
732+ tensor_number = tensor_number + 1
733+
734+ ret = con .execute_command ('AI.MODELSET' , 'financialNet' , 'TF' , "CPU" ,
735+ 'INPUTS' , 'transaction' , 'reference' , 'OUTPUTS' , 'output' , model_pb )
736+ env .assertEqual (ret , b'OK' )
737+
738+ def functor_financialNet (env , key_max , repetitions ):
739+ for tensor_number in range (1 , key_max ):
740+ for repetition in range (1 , repetitions ):
741+ ret = env .execute_command ('AI.MODELRUN' , 'financialNet' , 'INPUTS' ,
742+ 'transactionTensor:{}' .format (tensor_number ),
743+ 'referenceTensor:{}' .format (tensor_number ), 'OUTPUTS' ,
744+ 'classificationTensor:{}_{}' .format (tensor_number , repetition ))
745+
746+ t = time .time ()
747+ run_test_multiproc (env , 10 ,
748+ lambda env : functor_financialNet (env ,len (transaction_tensor ),100 ) )
749+ elapsed_time = time .time () - t
750+ total_ops = len (transaction_tensor )* 100
751+ avg_ops_sec = total_ops / elapsed_time
752+ env .debugPrint ("AI.MODELRUN elapsed time(sec) {:6.2f}\t Total ops {:10.2f}\t Avg. ops/sec {:10.2f}" .format (elapsed_time , total_ops , avg_ops_sec ), True )
0 commit comments