Class: Torch::Utils::Data::DataPipes::FilterIterDataPipe
- Inherits:
-
IterDataPipe
show all
- Defined in:
- lib/torch/utils/data/data_pipes/filter_iter_data_pipe.rb
Instance Method Summary
collapse
functional_datapipe, functions, register_datapipe_as_function, #reset
Constructor Details
Returns a new instance of FilterIterDataPipe.
8
9
10
11
|
# File 'lib/torch/utils/data/data_pipes/filter_iter_data_pipe.rb', line 8
def initialize(datapipe, &block)
@datapipe = datapipe
@filter_fn = block
end
|
Instance Method Details
#each ⇒ Object
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/torch/utils/data/data_pipes/filter_iter_data_pipe.rb', line 13
def each
@datapipe.each do |data|
filtered = return_if_true(data)
if non_empty?(filtered)
yield filtered
else
Iter::StreamWrapper.close_streams(data)
end
end
end
|
#non_empty?(data) ⇒ Boolean
30
31
32
|
# File 'lib/torch/utils/data/data_pipes/filter_iter_data_pipe.rb', line 30
def non_empty?(data)
!data.nil?
end
|
#return_if_true(data) ⇒ Object
24
25
26
27
28
|
# File 'lib/torch/utils/data/data_pipes/filter_iter_data_pipe.rb', line 24
def return_if_true(data)
condition = @filter_fn.call(data)
data if condition
end
|