/usr/local/lib64/python3.6/site-packages/caffe2/python/onnx/__pycache__
Edit: /usr/local/lib64/python3.6/site-packages/caffe2/python/onnx/__pycache__/helper.cpython-36.pyc (3629B)
3
Eg> @ sz d dl mZ d dlmZ d dlmZ d dlZd dlZeje Z
dd ZdddZd d
Z
ddd
ZdddZdddZdS ) )
caffe2_pb2)namedtupledict) WorkspaceNc s t t|tr8xf|j D ]\}} j||| j qW n@t| jt|ksNtx(t | j|D ]\}} j||| j q\W j
| | j} fdd|D } td|| fS )Nc s g | ]} j |qS ) FetchBlob).0name)wsr E/usr/local/lib64/python3.6/site-packages/caffe2/python/onnx/helper.py
s z$c2_native_run_op..Outputs)
r
isinstancedictitemsFeedBlob
device_optionleninputAssertionErrorzipZRunOperatorOnceoutputr )Zop_definputskeyvalueoutput_names
output_valuesr )r r
c2_native_run_op s
r c
sj t | r j| t|trFx$|j D ]\}} j|||j q(W n fdd|jD }t|t|krxt ||D ]\}} j|||j qvW nt|t|jkrt
dt|dt|j t
d| t
dt|d| t
dt|d| t|t|jkstx0t
t|D ] } j|j| || |j qW j| |j} fd d|D } td
|| fS )Nc s g | ]} j |s|qS r )ZHasBlob)r Z
input_name)r r r
r - s z%c2_native_run_net..z&c2_native_run_net assert. len(inputs)=z len(predict_net.external_input)=zdebug_arg: zpredict_net :zinputs c s g | ]} j |qS r )r )r r )r r r
r F s r )r
RunNetOncer
r r r r Zexternal_inputr r printtyper rangeZexternal_outputr )
init_netpredict_netr Z debug_argr r Z
uninitializedir r r )r r
c2_native_run_net$ s4
r% c C s0 t j }t| d}|j|j W d Q R X |S )Nrb)r ZNetDefopenZParseFromStringread)filenetfr r r
load_caffe2_netJ s r, Fc C sT t |d}|j| j W d Q R X |rPt |d d}|jt| W d Q R X d S )Nwbtxtw)r' writeZSerializeToStringstr)r* r) Z
output_txtr+ r r r
save_caffe2_netQ s
r2
Tc C s: t }| r|j| |j| |j|j|||}~|d S )zw
Run the benchmark net on the target model.
Return the execution time per iteration (millisecond).
r )r r Z CreateNetZBenchmarkNetr )r" r# warmup_iters
main_itersZ
layer_detailsr resultsr r r
benchmark_caffe2_modelY s
r8 c
C s~ xt |D ]}| | q
W d}x4t |D ](}tj }| | tj } || | 7 }q(W tjdj|| d || |d | S )z
Run the model several times, and measure the execution time.
Return the execution time per iteration (millisecond).
g zRThe PyTorch model execution time per iter is {} milliseconds, {} iters per second.i )r! timeloginfoformat)
modelr Ztrainingr5 r6 verboseZ_iZtotal_pytorch_timetster r r
benchmark_pytorch_modelg s
rA )N)F)r3 r4 T)Fr3 r4 F)Zcaffe2.protor Zonnx.backend.baser Zcaffe2.python.onnx.workspacer loggingr9 getLogger__name__r: r r% r, r2 r8 rA r r r r
s
&