\,gq ddlZddlZejdejejejeddlZddlm Z m Z ddl m Z m Z mZddl mZmZGddZedkr[ddlZdZeZeej Zeejejej ZeejdSdS) N)HunyuanDiTPipelineAutoPipelineForText2Image)seed_everythingtiming_decoratorauto_amp_inference)get_parameter_numberset_parameter_grad_falseceZdZd dZejededZd d Z dS) Text2Imageweights/hunyuanDiTcuda:0NcB||_||_tj|tjddg|_t|jjtdt|jj|s|j ||_d|_ dS)zC save_memory: if GPU memory is low, can set it Tzblocks.(16|17|18|19)) torch_dtype enable_pagpag_applied_layersztext2image transformer modelu~文本,特写,裁剪,出框,最差质量,低质量,JPEG伪影,PGLY,重复,病态,残缺,多余的手指,变异的手,画得不好的手,画得不好的脸,变异,畸形,模糊,脱水,糟糕的解剖学,糟糕的比例,多余的肢体,克隆的脸,毁容,恶心的比例,畸形的肢体,缺失的手臂,缺失的腿,额外的手臂,额外的腿,融合的手指,手指太多,长脖子N) save_memorydevicerfrom_pretrainedtorchfloat16piper transformerprintrtoneg_txt)selfpretrainrrs `/apdcephfs_cq5/share_300600172/huiwenshi/3d_services/repos/hunyuan3d-lite/infer/text_to_image.py__init__zText2Image.__init__!s' -= -"8!9     !!6777 ,.B49CX.Y.YZZZ - V,,DIa z text to imagecH|jro|j|j|_tj|j|i|}|jd|_n |j|i|}tj|S)Ncpu)rrrrrcuda empty_cachecall)rargskwargsress r__call__zText2Image.__call__5s   - T[11DI J " " $ $ $$)T,V,,C U++DII$)T,V,,C     r rc btd||dz}t|tj|j}|"|t |}|||j|ddd|dd d }tj |S) z args: prompr: str seed: int steps: int return: rgb: PIL.Image z prompt is:u#,白色背景,3D风格,最佳质量rNg?iF)promptnegative_promptnum_inference_steps pag_scalewidthheight generator return_dictr) rrr Generatorr manual_seedintrrr#r$)rr-seedstepsr3rgbs rr%zText2Image.callCs lF###??O4;777  )>)>s4yy)I)IYiivt|Y^diUZ\\\]__`b     r )r r N)rr*) __name__ __module__ __qualname__rrno_gradrrr)r%r rr r saaaa(U]__o&&  '&_ r r __main__ctj}|ddt|ddt|ddt|dd t|d d t|d d t|S)Nz--text2image_pathr )defaulttypez --text_promptz--output_img_pathz./outputs/test/img.jpgz--devicer z--seedrz--stepsr*)argparseArgumentParser add_argumentstrr7 parse_args)parsers rget_argsrKYs(**/9MTWXXXORcBBB/9QX[\\\JsCCCHac:::Ir<<<  """r r,)r8r9)ossyspathinsertdirnameabspath__file__r diffusersrr infer.utilsrrrrr r r;rErKr&rtext2image_model text_promptr8r9rgb_imgsaveoutput_img_pathr?r rrZsc,bgoobgoobgooh6O6O&P&PQQSTTT CCCCCCCCMMMMMMMMMMFFFFFFFF44444444l zOOO### 8::D!z555t/ditzRRRG LL%&&&&&!r