BatchBlock

class imagepypelines.BatchBlock(io_map, name=None, notes=None, requires_training=False, requires_labels=False)[source]

Bases: imagepypelines.core.BaseBlock.BaseBlock

Block subclass that processes datums as a batch (as opposed to processing each datum individually). This makes it useful for GPU accelerated tasks where processing data in batches frequently increases processing speed. It can also be used for algorithms that require working with a full image sequence.

Parameters:
  • io_map (IoMap,dict) – dictionary of input-output mappings for this Block
  • name (str) – name for this block, it will be automatically created/modified to make sure it is unique
  • notes (str) – a short description of this block
  • requires_training (bool) – whether or not this block will require training
  • requires_labels (bool) – whether or not this block will require labels during training
io_map

object that maps inputs to this block to outputs subclass of tuple where I/O is stored as: ( (input1,output1),(input2,output2)… )

Type:IoMap
name

unique name for this block

Type:str
notes

a short description of this block

Type:str
requires_training

whether or not this block will require training

Type:bool
trained

whether or not this block has been trained, True by default if requires_training = False

Type:bool
printer

printer object for this block, registered to ‘name’

Type:ip.Printer

Attributes Summary

EXTANT

Methods Summary

after_process() (optional overload)function that runs after processing for optional functionality.
batch_process(data) (required overload)processes a list of data using this block’s algorithm
before_process(data[, labels]) (optional overload)function that runs before processing for optional functionality.
label_strategy(labels) runs self.labels
labels(labels) (optional overload) returns all labels for input datums or None
process_strategy(data) runs self.batch_process
rename(name) Renames this block to the given name
train(data[, labels]) (optional or required overload)trains the block.

Attributes Documentation

EXTANT = {}

Methods Documentation

after_process()

(optional overload)function that runs after processing for optional functionality. intended for optional use as a cleanup function

Parameters:None
batch_process(data)[source]

(required overload)processes a list of data using this block’s algorithm

Parameters:data (list) – list of datums to process
Returns:list of processed datums
Return type:process(list)
before_process(data, labels=None)

(optional overload)function that runs before processing for optional functionality. this function takes in the full data list and label list. does nothing unless overloaded

Parameters:
  • data (list) – list of datums to process
  • labels (list,None) – corresponding label for each datum, None by default (for unsupervised systems)
label_strategy(labels)[source]

runs self.labels

labels(labels)[source]

(optional overload) returns all labels for input datums or None

process_strategy(data)[source]

runs self.batch_process

rename(name)

Renames this block to the given name

Parameters:name (str) – the new name for your Block
Returns:object reference to this block (self)
Return type:ip.Block

Note

unlike naming your block using the name parameter in instantiation, imagepypelines will not guarantee that this name will be unique. It is considered the user’s responsibility to determine that this will not cause problems in your pipeline.

train(data, labels=None)

(optional or required overload)trains the block. overloading is required if the ‘requires_training’ parameter is set to True

users are expected to save pertinent variables as instance variables

Parameters:
  • data (list) – list of datums to train on
  • labels (list,None) – corresponding label for each datum, None by default (for unsupervised systems)
Returns:

None