logo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Readme
Files and versions

130 lines
2.5 KiB

2 years ago
# Select video
*author: Chen Zhang*
<br />
## Description
This operator select input list by simply aggregating, sorting and then filtering it.
<br />
## Code Example
For two input lists: video urls and scores, aggregate url by reduce_function, then sort aggregated scores, then select top k results.
```python
from towhee.dc2 import pipe, ops, DataCollection
2 years ago
p = (
pipe.input('video_urls', 'scores') \
.map(('video_urls', 'scores'), 'res', ops.video_copy_detection.select_video(top_k=2, reduce_function='mean', reverse=True)) \
.output('video_urls', 'scores', 'res')
)
DataCollection(p(['a', 'a', 'c', 'a', 'b', 'b', 'c', 'c'], [2, 8, 9.3, 5, 2, 1, 0, -1])).show()
2 years ago
```
![](mean.png)
```python
from towhee.dc2 import pipe, ops, DataCollection
p = (
pipe.input('video_urls', 'scores') \
.map(('video_urls', 'scores'), 'res', ops.video_copy_detection.select_video(top_k=2, reduce_function='sum', reverse=True)) \
.output('video_urls', 'scores', 'res')
)
2 years ago
DataCollection(p(['a', 'a', 'c', 'a', 'b', 'b', 'c', 'c'], [2, 8, 9.3, 5, 2, 1, 0, -1])).show()
2 years ago
```
![](mean.png)
```python
from towhee.dc2 import pipe, ops, DataCollection
2 years ago
p = (
pipe.input('video_urls', 'scores') \
.map(('video_urls', 'scores'), 'res', ops.video_copy_detection.select_video(top_k=2, reduce_function='max', reverse=True)) \
.output('video_urls', 'scores', 'res')
)
DataCollection(p(['a', 'a', 'c', 'a', 'b', 'b', 'c', 'c'], [2, 8, 9.3, 5, 2, 1, 0, -1])).show()
2 years ago
```
![](max.png)
```python
from towhee.dc2 import pipe, ops, DataCollection
p = (
pipe.input('video_urls', 'scores') \
.map(('video_urls', 'scores'), 'res', ops.video_copy_detection.select_video(top_k=2, reduce_function='min', reverse=True)) \
.output('video_urls', 'scores', 'res')
)
2 years ago
DataCollection(p(['a', 'a', 'c', 'a', 'b', 'b', 'c', 'c'], [2, 8, 9.3, 5, 2, 1, 0, -1])).show()
2 years ago
```
![](min.png)
<br />
## Factory Constructor
Create the operator via the following factory method
***select_video(top_k: int, reduce_function: str, reverse: bool)***
**Parameters:**
***top_k:*** *int*
​ Select top k result.
***reduce_function:*** *str*
​ Aggregate function name, support name:
- sum
- mean
- max
- min
***reverse:*** *bool*
​ Whether sorted result is reversed.
<br />
## Interface
**Parameters:**
***video_urls:*** *List[str]*
​ Video urls.
***scores:*** *List[float]*
​ Every video scores.
**Returns:** *List[str]*
​ Selected video url results.
2 years ago