From e0a234fe9cab9d73b0350ce264d93ac2a3e2e6a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Fri, 5 Jul 2024 16:02:49 +0800 Subject: [PATCH] 'commit' --- BaiHu/Config.ini | 1 - BaiHu/Test/WD14.py | 50 ++---------------- BaiHu/Util/SDUtil.py | 35 +++++++++++- BaiHu/Util/__pycache__/SDUtil.cpython-310.pyc | Bin 5647 -> 6445 bytes BaiHu/doTask.py | 4 ++ 5 files changed, 40 insertions(+), 50 deletions(-) diff --git a/BaiHu/Config.ini b/BaiHu/Config.ini index b34fc789..a15db0b0 100644 --- a/BaiHu/Config.ini +++ b/BaiHu/Config.ini @@ -17,7 +17,6 @@ img2img_url = /sdapi/v1/img2img ; WEB服务器地址 [webServer] web_url = https://www.hzkjai.com -;web_url = http://10.10.21.20:9000 [system] ; 处理机编号 diff --git a/BaiHu/Test/WD14.py b/BaiHu/Test/WD14.py index 5bbaa0e3..312e5956 100644 --- a/BaiHu/Test/WD14.py +++ b/BaiHu/Test/WD14.py @@ -1,49 +1,5 @@ -import requests -import base64 -from PIL import Image +from Util.SDUtil import get_wd_14 -url = 'http://192.168.1.21:7860/tagger/v1/interrogate' +server_address = "http://192.168.1.21:7860" image_path = r'D:\KeCheng\BaiHu\Backup\mote2.png' - -# 反推模型 -model = 'wd14-vit-v2-git' # 'wd14-convnext' -# 阀值 -threshold = 0.35 - -# 确认照片为上传照片 -image = Image.open(image_path) -# 将图片转换为Base64字符串 -with open(image_path, 'rb') as file: - image_data = file.read() - base64_image = base64.b64encode(image_data).decode('utf-8') - -image.close() - -# 构建请求体的JSON数据 -data = { - "image": base64_image, - "model": model, - "threshold": threshold -} - -# 发送POST请求 -response = requests.post(url, json=data) - -# 检查响应状态码 -if response.status_code == 200: - json_data = response.json() - # 处理返回的JSON数据 - caption_dict = json_data['caption'] - sorted_items = sorted(caption_dict.items(), key=lambda x: x[1], reverse=True) - # output = '\n'.join([f'{k}: {v}, {int(v * 100)}%' for k, v in sorted_items]) - # output = ','.join([f'{k.replace("_"," ")}' for k, v in sorted_items]) - - output = '' - for k, v in sorted_items: - if v > threshold: - output = output + "," + k.replace("_", " ") - output = output[1:] - print(output) -else: - print('Error:', response.status_code) - print('Response body:', response.text) +print(get_wd_14(server_address, image_path)) diff --git a/BaiHu/Util/SDUtil.py b/BaiHu/Util/SDUtil.py index 2215cf38..d1bac1ea 100644 --- a/BaiHu/Util/SDUtil.py +++ b/BaiHu/Util/SDUtil.py @@ -3,12 +3,43 @@ import time import urllib.parse import urllib.request - import websocket from Util.CommonUtil import * +# 获取反推词 +def get_wd_14(url, v_image_path): + # 反推模型 + model = 'wd14-vit-v2-git' + # 阀值 + threshold = 0.35 + + # 将图片转换为Base64字符串 + with open(v_image_path, 'rb') as file: + image_data = file.read() + base64_image = base64.b64encode(image_data).decode('utf-8') + + # 构建请求体的JSON数据 + data = { + "image": base64_image, + "model": model, + "threshold": threshold + } + # 发送POST请求 + response = requests.post(url, json=data) + json_data = response.json() + # 处理返回的JSON数据 + caption_dict = json_data['caption'] + sorted_items = sorted(caption_dict.items(), key=lambda x: x[1], reverse=True) + output = '' + for k, v in sorted_items: + if v > threshold: + output = output + "," + k.replace("_", " ") + output = output[1:] + return output + + # 定义一个函数向服务器队列发送提示信息 def queue_prompt(server_address, client_id, prompt): p = {"prompt": prompt, "client_id": client_id} @@ -191,7 +222,7 @@ def restart_server(webui_address): # 清理一下SD -def release_sd(webui_address,comfyui_address): +def release_sd(webui_address, comfyui_address): # comfyui的显存先清理一下 clear_comfyui_cache(comfyui_address) diff --git a/BaiHu/Util/__pycache__/SDUtil.cpython-310.pyc b/BaiHu/Util/__pycache__/SDUtil.cpython-310.pyc index a7b7048184be3d22e3b16e95b5f731a7a3a623d8..b0da8a47dca7ab38147a0d4e202dce7513722dee 100644 GIT binary patch delta 2870 zcmZuzU2GKB6`nggJ3IStFaE(XHYUM=4VbOLp@dMzY(z-O<5A)CZ(04^{ixzBMm>xG%{|sHiGcimFOM>d!fM47gTi zG-vLd`*Y6u&fk1+@Xq0qUo7S{xIX^q#|!zrw@bUoFK-`c_6KR@hGv)PZaPdyZV-Eb zj?$gL8Kh(M33ylNINb&B9dv?D!h4943tDyRJ|1K_dC(ouT7Pd2ok8S3k)$lM_722F2}UgkB8Y6jfzrij+I zW;L;QnGg-{OYlUQC>0sh{6(r~h3O?T(j$vzZtA^klwHrjdATS@tud{a53MM_p54%B zmga6~G*1gRQ@sK$_KH#AW$n$%8+yN2>XoB%WL!456BTJ`REtXMIa;Oz8#?G+ymA(} zgH(G@hXadI5sa^#TN|l`Zll3?tvg%u+9BiIZ@3{_D=*X8xtXpP&U6pYG`z5}psv5X zAay?fAl(TUW{y=;GVQh829xQQ|2kz&nGF{?6N`S60-(l{@Y{B#?gpXfx9bEje0bp) z!M*^GK$H>OG5DLjO-M3CO-PSyHPfp_|+-+%V;|&%%%hZ{j zJ9MJy*WIQ#34>(a#i}k-m)WY!aMop9FsVHt2PJVNnc`X4U(HLy4_I3ooViq*^R8e= z=VW&N=p1X;eafUsnR;8C^{;f82!%8PUxXZWmZtD|$S8mivX($GLDQ|X>VPZ>#zCax zQVMtoyU=wMP)^{6i*~x}ba<1Sa0budLB@jDWHOg5p>F8fg+!NRmo$LacO_^c0>3So zokeJ!WaTEl4)yAxT}V`N5{*p169%17lFO2GH?c&a1r(Zn1RZ{ggFr0ZfV+^gNQLbB zk8bKjC+5FP8H-r@@CY$d1!9pQqQ6rh2H{V`j@zF^)7*f;+Q4EM2FGi)tG!yl{Zplz{@f#NWIEuG@%(u>K$#&;H-K!Q)g4k_7TcV}kH=@tJ!DVpn{zpy#ywL& z;@_H2jc)@ihpH>U#Oe5-<}2jP-EU^Dk+&aXGlScelOAc4I1T~gXs%3wYBJ6J4(O9j zbUCc}kOTY`7}=#RcUw;Ahi=n>jO4Gzli7XwExN?t%MMSpVX3G9ses1@^j#1*7MX(a z6yX=+>)9{*7`;$zES2(rpq;NbncF@cbk4gi{#}^u;Qo6bzxUT$@8A3I_n+VS@bgUJHL}$i;v|e$Xj=Rn6Hv26^3U}kOIxd${;(}s>wHb## z;nbU6a4SAmoUt0X8oK7MmWss0?#a_}P#PxB#_yLV`wSUa5AOdFh&0-6i#;HjX( zf!Zzt`BWM^8{dki64nXOHxAnSQT%H81tQ{~l>ff4geMVPkyZhQc4>SEkO$8f>e>O1v_4BwxUxH48 zye<;#irY0UscOyUJD!6={}7)ToFG?Yd+_IEDgM{s%5D`3%eeFZCGr*Ior-T(o<4}O z_}W*TK8PXDon>`?-K{UOPvTE2V-Rd#R_4z?I=ZU!9_+R&o9zvtg$NB*H`^8=rH6CL z($8R%20a`=T zn+G=hJ#egFvb4#9R)zlq{B2;`D#Zv}U|@xD9LC!ppSwSp!xjH)`#) JDpt8*{tw;(!YKd% delta 2156 zcmZ8i&2Jk;6wj>J_Imvh$FZHH`GmGf7n-K@L$py_pcRb(fdp--FbK2pj+1TI-tC*& zv`L{sY9+*}LMxR+kHCRLg;2O4aY9J&2XLALoGWqQoJ)9boTkNI={Mu~c<=W<=h3nI zhf86xXb<4;=R04tZ%=^oG6aJ=PfXYF_=`K%?x9c%wKDd1Kx_94p?q zH-Y1@$1V*xQ;$i+I}TIqg=E(J)Y(qQvORxlqr56*w79Tv`?G}z!cHXdi0Qe~b!=r` z6Ja;`-F)r1GJ(6ElTjtXVU0u6^*rE0fQeEeg`ijj85&c-Z+t%h)g&|y&J=FMJm$@w zu$O$%pA5Hpx1bj$9C2D;Xg)$PiqOcn z!vN1V<$A=m{)UYbnrm(lbD=Ec7=>NrT%{WtYB*E56)u~8$6evIfnj7t6bh_>oHFdd z4ooIrXYRIXv7bej)=C7LPfGJqxt@Vd--8L->(iDeZL7YJA*@g0z92`{Q5~w9-ugWI z0UMdZmCG=O*vRo)ycJ8oy8@ZyUu(Sf)Y{CN@9|JLHhOL*H-37L4Z08fu7qh60Hi`? z+$iE*&ly(6P0{n(UaVj$k-6tsCV7xMF|5+s56ad|<9 z0gfeS3Ug=sxRi-YE9|t_W4{>-?!AduMFpXP5iA=Mm|qr~!TAh>#pFh{n*3DwYdVbw zFuN_CU+CUOz7=q{yA;Lmxg9u}{8*gaoW(P+h@gy6C^K^9s><+N7(4tIqDO&@Q)Upl z9@O#)BH%o7%-wuw`vGP>T{dZ|^1BH_-tEthVPXM2d*;xfmfKq84HPZN?6P4R z1!kf}1var$NZF|>gQYDfIc!rq`zRjjdDo0%-&1MA6EH{1uOg`QP4Fc$Yz3j=X+I`F){PZkK6r-cQCMpj$rd&$1?#8h8siYvU!!Iiw( z3j8QYE|=%imq^MtUzS4Hu|$AEX~B$dhIKM<7J zbvt~UEo`J_=4YHN6*hJj9h4{(QssqoWh~H%*bH>~%_ciTV{hwj@jA&OeegcPIW2HG z^wxU~16!MjR2pp#p+7eH9<3%>d^h2hSD2f8SNUi2DhXmFD6Ml9$g*uVv&|M8#?pB> zsdZ3l!f`r!0s%9g0)|}U<&KXIN8<1i?e5i!G9|wyRTg*@xGfGZ)A@88JtLiLqi~Zi zV}4*aOG?$!l~c57Tnk~DWN?Dh1bq=HQL*%H5}${7L?@PQ*v!VHI>ZhcQ_M;mI~IfM zSS%0O)udRvHLbI&O%nf45>{w!Hu<(TTO$r|jo=xr$=|j5_#<2tRQXTzSg5OD6b$Gl z<@$1QPdWy>lWf*U=bw>)*Hj6^g2f`qUVL$WA$gRrHY+g*w|=Xq7+=EwaGk&>(8U|l z>^#8*f-VA6j2-^Sv diff --git a/BaiHu/doTask.py b/BaiHu/doTask.py index 13400388..aea54c42 100644 --- a/BaiHu/doTask.py +++ b/BaiHu/doTask.py @@ -316,6 +316,10 @@ if __name__ == '__main__': web_url = config['webServer']['web_url'] # COMFYUI服务器地址 comfyui_address = config.get('comfyui', 'server_address') + # 反推接口地址 + wd_url = 'http://' + webui_address + '/tagger/v1/interrogate' + #image_path = r'D:\KeCheng\BaiHu\Backup\mote2.png' + #print(get_wd_14(wd_url, image_path)) while True: try: