3
EgC @ s d dl mZmZ d dlmZmZ d dlmZmZ d dl m
Z
mZ d dlm
Z
mZmZ G dd deZdZd d
Zd!dd
Zdd Zd"ddZd#ddZdd Zdd Zdd Zd$ddZG dd deZG dd d eZdS )% )core
queue_util)ReaderWriter)
NetBuilderops) as_recordField)NodeTask TaskGroupc @ s e Zd ZdZdddZdS )Outputz
Represents the result of a processor function. A processor can either
return an Output, or it can return a record, in which case an Output will be
created for it afterwards.
Nc C s| t j j }|d ks(t|dks(td|d kr4|}t|tjrF|g}|d krRg nt|| _ |d krhd nt
|| _|| _d S )Nr z7Cannot both use `ops` syntax and return a list of nets.)
r currentgetlenAssertionError
isinstancer Netlistnetsr recordshould_stop)selfr r r Zbuilder_children r B/usr/local/lib64/python3.6/site-packages/caffe2/python/pipeline.py__init__ s zOutput.__init__)NNN)__name__
__module____qualname____doc__r r r r r r
s r
d c C s | d kr*t j|d k r|ntd}|j }nTt| trN|d ksDtdd }| }n0t| drv|d kshtd| }| j }ntd|j || ||fS )N)capacityzcapacity would not be used.writerz)output must be a reader, queue or stream.)
r QueueDEFAULT_QUEUE_CAPACITYr" r r r hasattr
ValueErrorsetup_ex)outputr! global_init_netglobal_exit_net out_queuer" r r r _init_output% s
r, Nc sR d krdd S t tjr$t S d k rJt drJ fdd}| _ S d S )Nc S s | S )Nr )recr r r