{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "39f9cc7a", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/root/anaconda3/lib/python3.9/site-packages/transformers/utils/generic.py:441: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.\n", " _torch_pytree._register_pytree_node(\n", "/root/anaconda3/lib/python3.9/site-packages/transformers/utils/generic.py:309: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.\n", " _torch_pytree._register_pytree_node(\n", "/root/anaconda3/lib/python3.9/site-packages/diffusers/utils/outputs.py:63: UserWarning: torch.utils._pytree._register_pytree_node is deprecated. Please use torch.utils._pytree.register_pytree_node instead.\n", " torch.utils._pytree._register_pytree_node(\n", "/root/anaconda3/lib/python3.9/site-packages/scipy/__init__.py:155: UserWarning: A NumPy version >=1.18.5 and <1.25.0 is required for this version of SciPy (detected version 1.26.3\n", " warnings.warn(f\"A NumPy version >={np_minversion} and <{np_maxversion}\"\n" ] } ], "source": [ "import torch\n", "from diffusers import StableDiffusionPipeline, DDIMScheduler, AutoencoderKL\n", "from PIL import Image\n", "import copy\n", "\n", "from ip_adapter.ip_adapter_faceid import IPAdapterFaceIDPlus, IPAdapterFaceID\n", "from insightface.app import FaceAnalysis\n", "from insightface.model_zoo.arcface_onnx import ArcFaceONNX\n", "from insightface.utils import face_align\n", "from numpy.linalg import norm as l2norm\n", "import cv2\n", "from ip_adapter.utils import register_cross_attention_hook, get_net_attn_map, attnmaps2images" ] }, { "cell_type": "code", "execution_count": 2, "id": "0d290971", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/root/anaconda3/lib/python3.9/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py:69: UserWarning: Specified provider 'CUDAExecutionProvider' is not in available provider names.Available providers: 'AzureExecutionProvider, CPUExecutionProvider'\n", " warnings.warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Applied providers: ['CPUExecutionProvider'], with options: {'CPUExecutionProvider': {}}\n", "find model: /root/.insightface/models/buffalo_l/1k3d68.onnx landmark_3d_68 ['None', 3, 192, 192] 0.0 1.0\n", "Applied providers: ['CPUExecutionProvider'], with options: {'CPUExecutionProvider': {}}\n", "find model: /root/.insightface/models/buffalo_l/2d106det.onnx landmark_2d_106 ['None', 3, 192, 192] 0.0 1.0\n", "Applied providers: ['CPUExecutionProvider'], with options: {'CPUExecutionProvider': {}}\n", "find model: /root/.insightface/models/buffalo_l/det_10g.onnx detection [1, 3, '?', '?'] 127.5 128.0\n", "Applied providers: ['CPUExecutionProvider'], with options: {'CPUExecutionProvider': {}}\n", "find model: /root/.insightface/models/buffalo_l/genderage.onnx genderage ['None', 3, 96, 96] 0.0 1.0\n", "Applied providers: ['CPUExecutionProvider'], with options: {'CPUExecutionProvider': {}}\n", "find model: /root/.insightface/models/buffalo_l/w600k_r50.onnx recognition ['None', 3, 112, 112] 127.5 127.5\n", "set det-size: (640, 640)\n" ] } ], "source": [ "app = FaceAnalysis(name=\"buffalo_l\", providers=['CUDAExecutionProvider', 'CPUExecutionProvider'])\n", "app.prepare(ctx_id=0, det_size=(640, 640))\n", "\n", "v2 = False\n", "base_model_path = \"SG161222/Realistic_Vision_V4.0_noVAE\"\n", "vae_model_path = \"stabilityai/sd-vae-ft-mse\"\n", "image_encoder_path = \"IP-Adapter/models/image_encoder/\"\n", "plus_ip_ckpt = \"IP-Adapter-FaceID/ip-adapter-faceid-plusv2_sd15.bin\"\n", "ip_ckpt = \"IP-Adapter-FaceID/ip-adapter-faceid_sd15.bin\"\n", "device = \"cuda\"" ] }, { "cell_type": "code", "execution_count": 3, "id": "f20eae92", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Cannot initialize model with low cpu memory usage because `accelerate` was not found in the environment. Defaulting to `low_cpu_mem_usage=False`. It is strongly recommended to install `accelerate` for faster and less memory-intense model loading. You can do so with: \n", "```\n", "pip install accelerate\n", "```\n", ".\n", "Cannot initialize model with low cpu memory usage because `accelerate` was not found in the environment. Defaulting to `low_cpu_mem_usage=False`. It is strongly recommended to install `accelerate` for faster and less memory-intense model loading. You can do so with: \n", "```\n", "pip install accelerate\n", "```\n", ".\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "b67a335943814268bb1b587b8582154d", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Loading pipeline components...: 0%| | 0/5 [00:00" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "#axes[0].imshow(attn_hot[0], cmap='gray')\n", "display_images = [cv2.cvtColor(face_image, cv2.COLOR_BGR2RGB)] + attn_hot + [images[0]]\n", "fig, axes = plt.subplots(1, len(display_images), figsize=(12, 4))\n", "for axe, image in zip(axes, display_images):\n", " axe.imshow(image, cmap='gray')\n", " axe.axis('off')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 9, "id": "fead1786", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "b1741aa4e3624e66b07d181531d14596", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/30 [00:00" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "display_images = [cv2.cvtColor(face_image, cv2.COLOR_BGR2RGB)] + attn_hot + [images[0]]\n", "fig, axes = plt.subplots(1, len(display_images), figsize=(12, 4))\n", "for axe, image in zip(axes, display_images):\n", " axe.imshow(image, cmap='gray')\n", " axe.axis('off')\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" } }, "nbformat": 4, "nbformat_minor": 5 }