diff --git a/.gitignore b/.gitignore index dc6d818..7c7b9ab 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ *.pkl *.pyc* *.pyd* +*~ *_fps15.mp4 *__pycache__/* .idea/ diff --git a/example_workflows/hellomeme_style_workflow.jpg b/example_workflows/hellomeme_style_workflow.jpg index 272bf58..905ec09 100644 Binary files a/example_workflows/hellomeme_style_workflow.jpg and b/example_workflows/hellomeme_style_workflow.jpg differ diff --git a/example_workflows/image_style_transfer.json b/example_workflows/image_style_transfer.json index 3be6b61..531ffd9 100644 --- a/example_workflows/image_style_transfer.json +++ b/example_workflows/image_style_transfer.json @@ -1,58 +1,97 @@ { "id": "a8e8ebf3-8dc8-4d76-ad73-dfe0b945cc77", "revision": 0, - "last_node_id": 86, - "last_link_id": 205, + "last_node_id": 87, + "last_link_id": 213, "nodes": [ { - "id": 61, - "type": "GetFaceLandmarks", + "id": 58, + "type": "LoadImage", "pos": [ - 519.7196655273438, - 938.032958984375 + 41.47996520996094, + 358.5067138671875 ], "size": [ - 170.62362670898438, - 46 + 315, + 314 ], "flags": {}, - "order": 4, + "order": 0, "mode": 0, - "inputs": [ + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "slot_index": 0, + "links": [ + 121, + 151, + 175 + ] + }, + { + "name": "MASK", + "type": "MASK", + "links": null + } + ], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.39", + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "chillout.jpg", + "image" + ] + }, + { + "id": 2, + "type": "HMFaceToolkitsLoader", + "pos": [ + 45.41996383666992, + 769.9866333007812 + ], + "size": [ + 315, + 82 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ { "name": "face_toolkits", "type": "FACE_TOOLKITS", - "link": 129 - }, - { - "name": "images", - "type": "IMAGE", - "link": 188 - } - ], - "outputs": [ - { - "name": "landmarks", - "type": "FACELANDMARKS222", + "slot_index": 0, "links": [ - 145, - 177 + 122, + 147, + 173, + 193, + 194, + 210 ] } ], "properties": { "cnr_id": "comfyui_hellomeme", "ver": "56e8052c9b449621b029226988b0ed7d2dc96b4c", - "Node name for S&R": "GetFaceLandmarks" + "Node name for S&R": "HMFaceToolkitsLoader" }, - "widgets_values": [] + "widgets_values": [ + 0, + "huggingface" + ] }, { "id": 60, "type": "GetFaceLandmarks", "pos": [ - 518.9132690429688, - 612.9461669921875 + 438.875732421875, + 586.59228515625 ], "size": [ 170.62362670898438, @@ -90,323 +129,19 @@ }, "widgets_values": [] }, - { - "id": 67, - "type": "GetHeadPose", - "pos": [ - 814.1528930664062, - 495.9793701171875 - ], - "size": [ - 270, - 98 - ], - "flags": {}, - "order": 5, - "mode": 0, - "inputs": [ - { - "name": "face_toolkits", - "type": "FACE_TOOLKITS", - "link": 147 - }, - { - "name": "images", - "type": "IMAGE", - "link": 151 - }, - { - "name": "landmarks", - "type": "FACELANDMARKS222", - "link": 143 - } - ], - "outputs": [ - { - "name": "head_pose", - "type": "HEAD_POSE", - "links": [ - 183 - ] - } - ], - "properties": { - "cnr_id": "comfyui_hellomeme", - "ver": "56e8052c9b449621b029226988b0ed7d2dc96b4c", - "Node name for S&R": "GetHeadPose" - }, - "widgets_values": [ - true - ] - }, - { - "id": 2, - "type": "HMFaceToolkitsLoader", - "pos": [ - 45.41996383666992, - 769.9866333007812 - ], - "size": [ - 315, - 82 - ], - "flags": {}, - "order": 0, - "mode": 0, - "inputs": [], - "outputs": [ - { - "name": "face_toolkits", - "type": "FACE_TOOLKITS", - "slot_index": 0, - "links": [ - 122, - 129, - 147, - 149, - 173, - 174, - 193, - 194 - ] - } - ], - "properties": { - "cnr_id": "comfyui_hellomeme", - "ver": "56e8052c9b449621b029226988b0ed7d2dc96b4c", - "Node name for S&R": "HMFaceToolkitsLoader" - }, - "widgets_values": [ - 0, - "huggingface" - ] - }, - { - "id": 69, - "type": "GetHeadPose", - "pos": [ - 819.799560546875, - 860.5927734375 - ], - "size": [ - 270, - 98 - ], - "flags": {}, - "order": 7, - "mode": 0, - "inputs": [ - { - "name": "face_toolkits", - "type": "FACE_TOOLKITS", - "link": 149 - }, - { - "name": "images", - "type": "IMAGE", - "link": 189 - }, - { - "name": "landmarks", - "type": "FACELANDMARKS222", - "link": 145 - } - ], - "outputs": [ - { - "name": "head_pose", - "type": "HEAD_POSE", - "links": [ - 185, - 202 - ] - } - ], - "properties": { - "cnr_id": "comfyui_hellomeme", - "ver": "56e8052c9b449621b029226988b0ed7d2dc96b4c", - "Node name for S&R": "GetHeadPose" - }, - "widgets_values": [ - true - ] - }, - { - "id": 76, - "type": "GetExpression2", - "pos": [ - 833.6573486328125, - 1042.0396728515625 - ], - "size": [ - 191.63729858398438, - 66 - ], - "flags": {}, - "order": 8, - "mode": 0, - "inputs": [ - { - "name": "face_toolkits", - "type": "FACE_TOOLKITS", - "link": 174 - }, - { - "name": "images", - "type": "IMAGE", - "link": 190 - }, - { - "name": "landmarks", - "type": "FACELANDMARKS222", - "link": 177 - } - ], - "outputs": [ - { - "name": "expression", - "type": "EXPRESSION", - "links": [ - 186, - 203 - ] - } - ], - "properties": { - "cnr_id": "comfyui_hellomeme", - "ver": "56e8052c9b449621b029226988b0ed7d2dc96b4c", - "Node name for S&R": "GetExpression2" - }, - "widgets_values": [] - }, - { - "id": 79, - "type": "HMPipelineImage", - "pos": [ - 1334.226318359375, - 613.9535522460938 - ], - "size": [ - 270, - 306 - ], - "flags": {}, - "order": 9, - "mode": 0, - "inputs": [ - { - "name": "hm_image_pipeline", - "type": "HMIMAGEPIPELINE", - "link": 182 - }, - { - "name": "ref_head_pose", - "type": "HEAD_POSE", - "link": 183 - }, - { - "name": "ref_expression", - "type": "EXPRESSION", - "link": 184 - }, - { - "name": "drive_head_pose", - "type": "HEAD_POSE", - "link": 185 - }, - { - "name": "drive_expression", - "type": "EXPRESSION", - "link": 186 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 187, - 191, - 192 - ] - }, - { - "name": "LATENT", - "type": "LATENT", - "links": null - } - ], - "properties": { - "cnr_id": "comfyui_hellomeme", - "ver": "56e8052c9b449621b029226988b0ed7d2dc96b4c", - "Node name for S&R": "HMPipelineImage" - }, - "widgets_values": [ - 0, - "", - "", - 25, - 522873230123463, - "randomize", - 1.2000000000000002, - 0 - ] - }, - { - "id": 81, - "type": "GetFaceLandmarks", - "pos": [ - 1656.5469970703125, - 756.1448364257812 - ], - "size": [ - 170.62362670898438, - 46 - ], - "flags": {}, - "order": 11, - "mode": 0, - "inputs": [ - { - "name": "face_toolkits", - "type": "FACE_TOOLKITS", - "link": 193 - }, - { - "name": "images", - "type": "IMAGE", - "link": 191 - } - ], - "outputs": [ - { - "name": "landmarks", - "type": "FACELANDMARKS222", - "links": [ - 195 - ] - } - ], - "properties": { - "cnr_id": "comfyui_hellomeme", - "ver": "56e8052c9b449621b029226988b0ed7d2dc96b4c", - "Node name for S&R": "GetFaceLandmarks" - }, - "widgets_values": [] - }, { "id": 75, "type": "GetExpression2", "pos": [ - 814.1359252929688, - 689.6795654296875 + 689.199462890625, + 676.9906616210938 ], "size": [ 191.63729858398438, 66 ], "flags": {}, - "order": 6, + "order": 5, "mode": 0, "inputs": [ { @@ -431,7 +166,7 @@ "type": "EXPRESSION", "links": [ 184, - 205 + 207 ] } ], @@ -442,197 +177,19 @@ }, "widgets_values": [] }, - { - "id": 82, - "type": "GetHeadPose", - "pos": [ - 1887.2037353515625, - 718.1502075195312 - ], - "size": [ - 270, - 98 - ], - "flags": {}, - "order": 12, - "mode": 0, - "inputs": [ - { - "name": "face_toolkits", - "type": "FACE_TOOLKITS", - "link": 194 - }, - { - "name": "images", - "type": "IMAGE", - "link": 192 - }, - { - "name": "landmarks", - "type": "FACELANDMARKS222", - "link": 195 - } - ], - "outputs": [ - { - "name": "head_pose", - "type": "HEAD_POSE", - "links": [ - 200 - ] - } - ], - "properties": { - "cnr_id": "comfyui_hellomeme", - "ver": "56e8052c9b449621b029226988b0ed7d2dc96b4c", - "Node name for S&R": "GetHeadPose" - }, - "widgets_values": [ - false - ] - }, - { - "id": 85, - "type": "HMPipelineImage", - "pos": [ - 2279.40625, - 704.7041015625 - ], - "size": [ - 270, - 306 - ], - "flags": {}, - "order": 13, - "mode": 0, - "inputs": [ - { - "name": "hm_image_pipeline", - "type": "HMIMAGEPIPELINE", - "link": 199 - }, - { - "name": "ref_head_pose", - "type": "HEAD_POSE", - "link": 200 - }, - { - "name": "ref_expression", - "type": "EXPRESSION", - "link": 205 - }, - { - "name": "drive_head_pose", - "type": "HEAD_POSE", - "link": 202 - }, - { - "name": "drive_expression", - "type": "EXPRESSION", - "link": 203 - } - ], - "outputs": [ - { - "name": "IMAGE", - "type": "IMAGE", - "links": [ - 204 - ] - }, - { - "name": "LATENT", - "type": "LATENT", - "links": null - } - ], - "properties": { - "cnr_id": "comfyui_hellomeme", - "ver": "56e8052c9b449621b029226988b0ed7d2dc96b4c", - "Node name for S&R": "HMPipelineImage" - }, - "widgets_values": [ - 0, - "", - "", - 25, - 31135348487980, - "randomize", - 1.2000000000000002, - 0 - ] - }, - { - "id": 80, - "type": "PreviewImage", - "pos": [ - 1706.34228515625, - 92.85418701171875 - ], - "size": [ - 426.67877197265625, - 454.14093017578125 - ], - "flags": {}, - "order": 10, - "mode": 0, - "inputs": [ - { - "name": "images", - "type": "IMAGE", - "link": 187 - } - ], - "outputs": [], - "properties": { - "cnr_id": "comfy-core", - "ver": "0.3.39", - "Node name for S&R": "PreviewImage" - }, - "widgets_values": [] - }, - { - "id": 86, - "type": "PreviewImage", - "pos": [ - 2605.176025390625, - 703.9863891601562 - ], - "size": [ - 522.350341796875, - 553.1380004882812 - ], - "flags": {}, - "order": 14, - "mode": 0, - "inputs": [ - { - "name": "images", - "type": "IMAGE", - "link": 204 - } - ], - "outputs": [], - "properties": { - "cnr_id": "comfy-core", - "ver": "0.3.39", - "Node name for S&R": "PreviewImage" - }, - "widgets_values": [] - }, { "id": 78, "type": "HMImagePipelineLoader", "pos": [ - 797.7930297851562, - 188.84007263183594 + 689.4496459960938, + 203.48110961914062 ], "size": [ 298.3472595214844, 226 ], "flags": {}, - "order": 1, + "order": 2, "mode": 0, "inputs": [], "outputs": [ @@ -662,48 +219,396 @@ ] }, { - "id": 58, - "type": "LoadImage", + "id": 67, + "type": "GetHeadPose", "pos": [ - 41.47996520996094, - 358.5067138671875 + 688.240234375, + 516.476806640625 ], "size": [ - 315, - 314 + 270, + 98 ], "flags": {}, - "order": 2, + "order": 4, "mode": 0, - "inputs": [], + "inputs": [ + { + "name": "face_toolkits", + "type": "FACE_TOOLKITS", + "link": 147 + }, + { + "name": "images", + "type": "IMAGE", + "link": 151 + }, + { + "name": "landmarks", + "type": "FACELANDMARKS222", + "link": 143 + } + ], + "outputs": [ + { + "name": "head_pose", + "type": "HEAD_POSE", + "links": [ + 183, + 206 + ] + } + ], + "properties": { + "cnr_id": "comfyui_hellomeme", + "ver": "56e8052c9b449621b029226988b0ed7d2dc96b4c", + "Node name for S&R": "GetHeadPose" + }, + "widgets_values": [ + true + ] + }, + { + "id": 81, + "type": "GetFaceLandmarks", + "pos": [ + 1466.214111328125, + 510.1761169433594 + ], + "size": [ + 170.62362670898438, + 46 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "face_toolkits", + "type": "FACE_TOOLKITS", + "link": 193 + }, + { + "name": "images", + "type": "IMAGE", + "link": 191 + } + ], + "outputs": [ + { + "name": "landmarks", + "type": "FACELANDMARKS222", + "links": [ + 195, + 208 + ] + } + ], + "properties": { + "cnr_id": "comfyui_hellomeme", + "ver": "56e8052c9b449621b029226988b0ed7d2dc96b4c", + "Node name for S&R": "GetFaceLandmarks" + }, + "widgets_values": [] + }, + { + "id": 82, + "type": "GetHeadPose", + "pos": [ + 1726.154052734375, + 420.4497375488281 + ], + "size": [ + 270, + 98 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "face_toolkits", + "type": "FACE_TOOLKITS", + "link": 194 + }, + { + "name": "images", + "type": "IMAGE", + "link": 192 + }, + { + "name": "landmarks", + "type": "FACELANDMARKS222", + "link": 195 + } + ], + "outputs": [ + { + "name": "head_pose", + "type": "HEAD_POSE", + "links": [ + 200, + 211 + ] + } + ], + "properties": { + "cnr_id": "comfyui_hellomeme", + "ver": "56e8052c9b449621b029226988b0ed7d2dc96b4c", + "Node name for S&R": "GetHeadPose" + }, + "widgets_values": [ + false + ] + }, + { + "id": 80, + "type": "PreviewImage", + "pos": [ + 1597.02294921875, + -149.21035766601562 + ], + "size": [ + 426.67877197265625, + 454.14093017578125 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 187 + } + ], + "outputs": [], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.39", + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [] + }, + { + "id": 85, + "type": "HMPipelineImage", + "pos": [ + 2126.16357421875, + 485.0890197753906 + ], + "size": [ + 270, + 306 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "hm_image_pipeline", + "type": "HMIMAGEPIPELINE", + "link": 199 + }, + { + "name": "ref_head_pose", + "type": "HEAD_POSE", + "link": 200 + }, + { + "name": "ref_expression", + "type": "EXPRESSION", + "link": 212 + }, + { + "name": "drive_head_pose", + "type": "HEAD_POSE", + "link": 211 + }, + { + "name": "drive_expression", + "type": "EXPRESSION", + "link": 213 + } + ], "outputs": [ { "name": "IMAGE", "type": "IMAGE", - "slot_index": 0, "links": [ - 121, - 151, - 175, - 188, - 189, - 190 + 204 ] }, { - "name": "MASK", - "type": "MASK", + "name": "LATENT", + "type": "LATENT", "links": null } ], "properties": { - "cnr_id": "comfy-core", - "ver": "0.3.39", - "Node name for S&R": "LoadImage" + "cnr_id": "comfyui_hellomeme", + "ver": "56e8052c9b449621b029226988b0ed7d2dc96b4c", + "Node name for S&R": "HMPipelineImage" }, "widgets_values": [ - "chillout.jpg", - "image" + 0, + "", + "", + 25, + 431229341494867, + "randomize", + 1.2000000000000002, + 0 + ] + }, + { + "id": 87, + "type": "GetExpression2", + "pos": [ + 1735.521728515625, + 590.853759765625 + ], + "size": [ + 191.63729858398438, + 66 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "face_toolkits", + "type": "FACE_TOOLKITS", + "link": 210 + }, + { + "name": "images", + "type": "IMAGE", + "link": 209 + }, + { + "name": "landmarks", + "type": "FACELANDMARKS222", + "link": 208 + } + ], + "outputs": [ + { + "name": "expression", + "type": "EXPRESSION", + "links": [ + 212, + 213 + ] + } + ], + "properties": { + "cnr_id": "comfyui_hellomeme", + "ver": "47fe61445e785922239b772517bd55673d752c7c", + "Node name for S&R": "GetExpression2" + } + }, + { + "id": 86, + "type": "PreviewImage", + "pos": [ + 2487.072509765625, + 485.347412109375 + ], + "size": [ + 522.350341796875, + 553.1380004882812 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 204 + } + ], + "outputs": [], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.39", + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [] + }, + { + "id": 79, + "type": "HMPipelineImage", + "pos": [ + 1077.52099609375, + 489.0169372558594 + ], + "size": [ + 270, + 306 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "hm_image_pipeline", + "type": "HMIMAGEPIPELINE", + "link": 182 + }, + { + "name": "ref_head_pose", + "type": "HEAD_POSE", + "link": 183 + }, + { + "name": "ref_expression", + "type": "EXPRESSION", + "link": 184 + }, + { + "name": "drive_head_pose", + "type": "HEAD_POSE", + "link": 206 + }, + { + "name": "drive_expression", + "type": "EXPRESSION", + "link": 207 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 187, + 191, + 192, + 209 + ] + }, + { + "name": "LATENT", + "type": "LATENT", + "links": null + } + ], + "properties": { + "cnr_id": "comfyui_hellomeme", + "ver": "56e8052c9b449621b029226988b0ed7d2dc96b4c", + "Node name for S&R": "HMPipelineImage" + }, + "widgets_values": [ + 0, + "", + "", + 25, + 1116653258512514, + "randomize", + 1.2000000000000002, + 0 ] } ], @@ -724,14 +629,6 @@ 0, "FACE_TOOLKITS" ], - [ - 129, - 2, - 0, - 61, - 0, - "FACE_TOOLKITS" - ], [ 143, 60, @@ -740,14 +637,6 @@ 2, "FACELANDMARKS222" ], - [ - 145, - 61, - 0, - 69, - 2, - "FACELANDMARKS222" - ], [ 147, 2, @@ -756,14 +645,6 @@ 0, "FACE_TOOLKITS" ], - [ - 149, - 2, - 0, - 69, - 0, - "FACE_TOOLKITS" - ], [ 151, 58, @@ -780,14 +661,6 @@ 0, "FACE_TOOLKITS" ], - [ - 174, - 2, - 0, - 76, - 0, - "FACE_TOOLKITS" - ], [ 175, 58, @@ -796,14 +669,6 @@ 1, "IMAGE" ], - [ - 177, - 61, - 0, - 76, - 2, - "FACELANDMARKS222" - ], [ 178, 60, @@ -836,22 +701,6 @@ 2, "EXPRESSION" ], - [ - 185, - 69, - 0, - 79, - 3, - "HEAD_POSE" - ], - [ - 186, - 76, - 0, - 79, - 4, - "EXPRESSION" - ], [ 187, 79, @@ -860,30 +709,6 @@ 0, "IMAGE" ], - [ - 188, - 58, - 0, - 61, - 1, - "IMAGE" - ], - [ - 189, - 58, - 0, - 69, - 1, - "IMAGE" - ], - [ - 190, - 58, - 0, - 76, - 1, - "IMAGE" - ], [ 191, 79, @@ -940,22 +765,6 @@ 1, "HEAD_POSE" ], - [ - 202, - 69, - 0, - 85, - 3, - "HEAD_POSE" - ], - [ - 203, - 76, - 0, - 85, - 4, - "EXPRESSION" - ], [ 204, 85, @@ -965,12 +774,68 @@ "IMAGE" ], [ - 205, + 206, + 67, + 0, + 79, + 3, + "HEAD_POSE" + ], + [ + 207, 75, 0, + 79, + 4, + "EXPRESSION" + ], + [ + 208, + 81, + 0, + 87, + 2, + "FACELANDMARKS222" + ], + [ + 209, + 79, + 0, + 87, + 1, + "IMAGE" + ], + [ + 210, + 2, + 0, + 87, + 0, + "FACE_TOOLKITS" + ], + [ + 211, + 82, + 0, + 85, + 3, + "HEAD_POSE" + ], + [ + 212, + 87, + 0, 85, 2, "EXPRESSION" + ], + [ + 213, + 87, + 0, + 85, + 4, + "EXPRESSION" ] ], "groups": [], diff --git a/hellomeme/pipelines/pipline_hm5_video.py b/hellomeme/pipelines/pipline_hm5_video.py index c8da26a..30ed9b1 100644 --- a/hellomeme/pipelines/pipline_hm5_video.py +++ b/hellomeme/pipelines/pipline_hm5_video.py @@ -75,12 +75,8 @@ class HM5VideoPipeline(HMPipeline): else: hm_adapter = HM5ReferenceAdapter.from_pretrained(hm_reference_dir) - # hm_adapter = HM5ReferenceAdapter.from_pretrained(hm_reference_dir) motion_adapter = HM5MotionAdapter.from_pretrained(hm_motion_dir) - stats = torch.load(r"E:\upload2\weights\a100-0617mpsd15vff\checkpoint-41000.pth", map_location='cpu') - motion_adapter.load_state_dict(stats['motion'], strict=False) - if isinstance(self.unet, HM3Denoising3D): self.unet.insert_reference_adapter(hm_adapter) self.unet.insert_reference_adapter(motion_adapter) diff --git a/meme.py b/meme.py index f826e34..bca6e48 100644 --- a/meme.py +++ b/meme.py @@ -46,7 +46,8 @@ from .hellomeme.utils import (get_drive_expression, from .hellomeme import (HMImagePipeline, HMVideoPipeline, HM3ImagePipeline, HM3VideoPipeline, HM5ImagePipeline, HM5VideoPipeline, - download_file_from_cloud) + download_file_from_cloud, + creat_model_from_cloud) config_path = osp.join(cur_dir, 'hellomeme', 'model_config.json') with open(config_path, 'r') as f: @@ -122,17 +123,16 @@ class HMImagePipelineLoader: def load_pipeline(self, checkpoint=None, lora=None, vae=None, version='v2', stylize='x1', deployment='huggingface', lora_scale=1.0, dtype='fp32'): dtype = torch.float32 if dtype == 'fp32' else torch.float16 - if deployment == 'modelscope': - from modelscope import snapshot_download - sd1_5_dir = snapshot_download('songkey/stable-diffusion-v1-5') - else: - sd1_5_dir = "songkey/stable-diffusion-v1-5" + if version == 'v3' or version == 'v4': - pipeline = HM3ImagePipeline.from_pretrained(sd1_5_dir) + pipeline = creat_model_from_cloud(HM3ImagePipeline, "songkey/stable-diffusion-v1-5", + modelscope=deployment == 'modelscope') elif version == 'v5' or version == 'v5b': - pipeline = HM5ImagePipeline.from_pretrained(sd1_5_dir) + pipeline = creat_model_from_cloud(HM5ImagePipeline, "songkey/stable-diffusion-v1-5", + modelscope=deployment == 'modelscope') else: - pipeline = HMImagePipeline.from_pretrained(sd1_5_dir) + pipeline = creat_model_from_cloud(HMImagePipeline, "songkey/stable-diffusion-v1-5", + modelscope=deployment == 'modelscope') pipeline.to(dtype=dtype) pipeline.caryomitosis(version=version, modelscope=deployment == 'modelscope') @@ -153,7 +153,7 @@ class HMVideoPipelineLoader: "checkpoint": (checkpoint_files, ), "lora": (lora_files, ), "vae": (vae_files, ), - "version": (['v5b', 'v5', 'v4', 'v3', 'v2', 'v1'], ), + "version": (['v5', 'v4', 'v3', 'v2', 'v1'], ), "stylize": (['x1', 'x2'], ), "deployment": (['huggingface', 'modelscope'], ), "lora_scale": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.1}), @@ -169,24 +169,22 @@ class HMVideoPipelineLoader: def load_pipeline(self, checkpoint=None, lora=None, vae=None, version='v2', stylize='x1', deployment='huggingface', lora_scale=1.0, dtype='fp32'): dtype = torch.float32 if dtype == 'fp32' else torch.float16 - if deployment == 'modelscope': - from modelscope import snapshot_download - sd1_5_dir = snapshot_download('songkey/stable-diffusion-v1-5') - else: - sd1_5_dir = "songkey/stable-diffusion-v1-5" if version == 'v3' or version == 'v4': - pipeline = HM3VideoPipeline.from_pretrained(sd1_5_dir) + pipeline = creat_model_from_cloud(HM3VideoPipeline, "songkey/stable-diffusion-v1-5", + modelscope=deployment == 'modelscope') elif version == 'v5' or version == 'v5b': - pipeline = HM5VideoPipeline.from_pretrained(sd1_5_dir) + pipeline = creat_model_from_cloud(HM5VideoPipeline, "songkey/stable-diffusion-v1-5", + modelscope=deployment == 'modelscope') else: - pipeline = HMVideoPipeline.from_pretrained(sd1_5_dir) + pipeline = creat_model_from_cloud(HMVideoPipeline, "songkey/stable-diffusion-v1-5", + modelscope=deployment == 'modelscope') pipeline.to(dtype=dtype) - pipeline.caryomitosis(version=version, modelscope=deployment=='modelscope') + pipeline.caryomitosis(version=version, modelscope=deployment == 'modelscope') format_model_path(pipeline, MODEL_CONFIG, checkpoint, vae, lora, stylize, lora_scale, deployment) - pipeline.insert_hm_modules(version=version, dtype=dtype, modelscope=deployment=='modelscope') + pipeline.insert_hm_modules(version=version, dtype=dtype, modelscope=deployment == 'modelscope') return (pipeline,) diff --git a/pyproject.toml b/pyproject.toml index 54ffe01..fc4b0ba 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "comfyui_hellomeme" description = "This repository is the official implementation of the [a/HelloMeme](https://arxiv.org/pdf/2410.22901) ComfyUI interface" -version = "1.3.17" +version = "1.3.18" license = {file = "LICENSE"} [project.urls]