Gerador de imagem da intranet
Eu queria mostrar à minha família o que faço para viver e que melhor maneira de tornar a visão computacional interessante do que os modelos de difusão?
Eu poderia ter mostrado a eles Dall-E 2, Midjourney ou o milhão de aplicativos móveis construídos no SD já por aí, no entanto, se eu eu mesmo construí-lo, eu posso executá-lo de graça e reter o controle de ponta a ponta sobre todos os aspectos, por exemplo, qual modelo eu uso, possibilidade de adicionar controles dos pais aos avisos etc.
Então, eu construí:
- Um simples aplicativo móvel nativo de reação como front -end, que leva um prompt como entrada e exibe as imagens geradas
- Um back-end do Python, com uma API baseada em frasco e um modelo de difusão que executa a inferência em uma GPU RTX 3090, com planos de contêiner usando o Docker
Trabalhe em andamento!
Como funciona:



Configurar:
- Variáveis de ambiente no back -end (por exemplo, um arquivo .env)
- Hf_key: sua chave de API de rosto abraçado
- Img_dir_win e img_dir_docker: localização para armazenar as imagens geradas
- Prompt_Prefix e Prompt_Suffix: Opcional, se você deseja prefixar ou sufixo o prompt de qualquer coisa (por exemplo, desenho animado, adequado para crianças)
- Negativo_prompt: opcional, mas deve ser usado para controles dos pais (por exemplo, adicione "assustador" para evitar a convergência em imagens assustadoras, o mesmo com os conceitos da NSFW, etc.)
- Model_id: Opcional, abraçando o ID do modelo de rosto, usando SD 2.1 se não for definido
Defina um endereço IP da LAN fixo na máquina executando o back -end e exponha a porta 5000 ao seu Intra Net
Configure o endereço IP do back -end no aplicativo móvel no menu Kebab (procure ⋮ no canto superior direito)
A partir de agora, para executar o aplicativo móvel, você precisa configurar um ambiente de desenvolvimento nativo do React, compilar o aplicativo da fonte e carregar o .APK em um dispositivo Android usando o modo de desenvolvedor.
Aqui está um guia útil: https://reactnative.dev/docs/environment-setup?guide=native
Problemas conhecidos e isenções de responsabilidade:
- Este é um protótipo de hobby que exige bastante habilidades tecnológicas para começar a trabalhar e não está pronta para a produção. Você não deve usá -lo se não entender a tecnologia envolvida.
Leia os termos da licença, especialmente a seção 5 - Isenção de garantias e limitação de responsabilidade. - Não pude testar se o Docker funciona, pois meus drivers da NVIDIA não querem brincar com o Docker no meu subsistema Windows Linux
- O aplicativo móvel ainda possui o ícone Android padrão e é chamado "Mobile_client"
- Segurança mínima (não fazendo nenhuma tentativa de higienizar os insumos ou autenticar clientes), o back -end deve ser usado apenas atrás de um roteador NAT para fins de demonstração, não está pronto para ser exposto à Internet.
- Eu recomendo a criação de um prompt negativo extenso como controles dos pais, além de usar o filtro de segurança da estabilidade, e não permitir que as crianças brincarem com modelos de difusão sem supervisão de adultos, pois a maioria desses modelos produzirá conteúdo inadequado da idade com um mínimo esforço e curiosidade.
Licença:
Copyright 2023, Jozsef Szalma
Creative Commons Attribution-NonCommercial 4.0 International Public License
https://creativecommons.org/license/by-nnc/4.0/legalcode