From 7f2e13d1cd292963de2ffd0443b2b393c41c1d8b Mon Sep 17 00:00:00 2001 From: ChengZi Date: Tue, 13 Sep 2022 17:39:02 +0800 Subject: [PATCH] README.md --- README.md | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++- max.png | Bin 0 -> 16319 bytes mean.png | Bin 0 -> 16356 bytes min.png | Bin 0 -> 16406 bytes 4 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 max.png create mode 100644 mean.png create mode 100644 min.png diff --git a/README.md b/README.md index ccbc074..d05c6f6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,113 @@ -# select-video +# Select video + +*author: Chen Zhang* + + +
+ + + +## Description + +This operator select input list by simply aggregating, sorting and then filtering it. +
+ + +## 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 +import towhee + +towhee.dc['video_urls', 'scores']([[['a', 'a', 'c', 'a', 'b', 'b', 'c', 'c'], [2, 8, 9.3, 5, 2, 1, 0, -1]]])\ +.video_copy_detection.select_video[('video_urls','scores'), 'res'](top_k=2, reduce_function='mean', reverse=True)\ +.show() +``` + +![](mean.png) + +```python +import towhee + +towhee.dc['video_urls', 'scores']([[['a', 'a', 'c', 'a', 'b', 'b', 'c', 'c'], [2, 8, 9.3, 5, 2, 1, 0, -1]]])\ +.video_copy_detection.select_video[('video_urls','scores'), 'res'](top_k=2, reduce_function='sum', reverse=True)\ +.show() +``` +![](mean.png) + +```python +import towhee + +towhee.dc['video_urls', 'scores']([[['a', 'a', 'c', 'a', 'b', 'b', 'c', 'c'], [2, 8, 9.3, 5, 2, 1, 0, -1]]])\ +.video_copy_detection.select_video[('video_urls','scores'), 'res'](top_k=2, reduce_function='max', reverse=True)\ +.show() +``` + +![](max.png) + + +```python +import towhee + +towhee.dc['video_urls', 'scores']([[['a', 'a', 'c', 'a', 'b', 'b', 'c', 'c'], [2, 8, 9.3, 5, 2, 1, 0, -1]]])\ +.video_copy_detection.select_video[('video_urls','scores'), 'res'](top_k=2, reduce_function='min', reverse=True)\ +.show() +``` + +![](min.png) + + +
+ + + +## 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. + +
+ + + +## Interface + + +**Parameters:** + +​ ***video_urls:*** *List[str]* + +​ Video urls. + +​ ***scores:*** *List[float]* + +​ Every video scores. + + +**Returns:** *List[str]* + +​ Selected video url results. + + diff --git a/max.png b/max.png new file mode 100644 index 0000000000000000000000000000000000000000..1bdc2dde1730e171e56d07bb4693b302def6aa78 GIT binary patch literal 16319 zcmeHucUV(r|F^9z)QZqbDaanOoD7`{TRH_Jv(NGxpn&!XmrzozZRzr!8)Nt$ydu&GU1Yj-B3V zM?V~1Z8`V*o%6~vUtwM!`AI&mI zS|4(1rz?GY!ovxJ*=ZtNu2?Yr4djP!Am79uIUrWU?vnid!=&6p$XUrB@;~i}&fNLk z?VTE0houZ8|7UIIE8}+?IP@s5Z~KtsR6R((Udbll(52hQyzJzGL$ANN`!-JlIP14f z-~V5{P~E*9Lu%rcjzNlOo{ve~ky>#%ope;8C;#9?k$d^aX>I(WnzV;{*MA)tutM@K%sQSc~d z^}nN_g(Nh$Tys&#MB}Cn-nT@+uu=1)^%v5G44lZH%WjXAE6xgR-X|0>#VCH72QQ7| zk6ZE|#`(O5AZPmWIfWo(X?F)qyaaO`OLP+xVL}IPt!rS@U46Fkea)O3yWGQu?Pul0 zpX3H%qA8d|BxW?#NSuY^WpR37D1EGm&oE6GRIf@HishVKNb?YLJ#5kZVzdjFaKYAe zn7#b~N-(MB7{*NyuOtkIB+m=p!UQK>nnSPh$EVFO4KNCs{YY6_PIa!7A{J7_73o5P zSYT_Pz@un!i_}2OACu$83s?vY$OGz*{X|W%T`I4NHd2K>;KT7o!9VvY`aC{|C9*Qb z!yZC=ZY?A%efLK$(M54+;2Qs-OQu7WX3)!T6*%RH<%tMKe2n2qooGl*4*8@$^=>Ly zRv6-M#~iIMgC}vDdlIJ?|Fuz$W742_Xht-XAS#)zHrfV)nha�#n=LMeaiAMqU#X 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 ZP1~};zULaihxr>UPuLu8{=fhL literal 0 HcmV?d00001 diff --git a/mean.png b/mean.png new file mode 100644 index 0000000000000000000000000000000000000000..8ef1aaca149f229d89a5e73c47676906284f71f5 GIT binary patch literal 16356 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�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 literal 0 HcmV?d00001