3
Eg[ @ s d Z ddlmZ ddlmZmZmZ ddlZddl Z G dd de
ZG dd de
ZG d d
d
e
Z
G dd de
ZG d
d de
ZG dd deZG dd deZG dd deZdd ZG dd deZG dd deZG dd deZG dd de
ZdS )a
Defines the base interface for reading and writing operations.
Readers/Writers are objects that produce operations that read/write sequences
of data. Each operation reads or writes a list of BlobReferences.
Readers and Writers must be implemented such that read and write operations
are atomic and thread safe.
Examples of possible Readers and Writers:
QueueReader, QueueWriter,
DatasetReader, DatasetWriter,
See `dataset.py` for an example of implementation.
)core)FieldStructfrom_blob_listNc @ sd e Zd ZdZdddZdd Zdd Zd d
Zdd Zd
d Z dd Z
dd Zdd ZdddZ
dS )Readera
Reader is an abstract class to be implemented in order to provide
operations capable of iterating through a dataset or stream of data.
A Reader must implement at least one operation, `read`, which
adds operations to a net that read the next batch of data. Readers can
optionally support the `reset` operation, which is useful when multiple
passes over the data are required.
Nc C s |d k rt |tst|| _d S )N)
isinstancer AssertionError_schema)selfschema r @/usr/local/lib64/python3.6/site-packages/caffe2/python/dataio.py__init__' s zReader.__init__c C s | j d k std| j S )Nz$Schema not provided for this reader.)r r )r
r r r
r , s z
Reader.schemac C s
|| _ d S )N)r )r
r r r r
_set_schema0 s zReader._set_schemac C s dS )zSetup nets to run at task initialization and cleanup time.
Args:
global_init_net: A net invoked at task init time.
global_finish_net: A net invoked at task cleanup time.
Nr )r
init_net
finish_netr r r
setup_ex3 s zReader.setup_exc C s t jd}|gf| j| S )Nreader_body)r Netread)r
local_init_netlocal_finish_netread_netr r r
read_ex<