Insertion dynamique de la couche LORA à travers l'image ou l'encodeur de texte, ou les deux encodeurs.
Charge les poids de clip OpenAI pré-entraînés en toute sécurité dans le modèle LORA-IFI.
Charge les modèles prêts à régler positional_embedding correctement congelant, logit_scale et les projections.
Remarque: Nous ne prenons actuellement en charge que les modèles de transformateurs de vision dans la LORA des encodeurs d'image. Des modèles RESNET seront bientôt ajoutés.
IMPORTANT: Assurez-vous d'avoir un clip avant d'installer loraclip . Cela peut simplement être fait par
pip install regex ftfy
pip install git+https://github.com/openai/CLIP.git Vous pouvez ensuite installer ce package directement à l'aide pip via la commande pip install loraclip . Alternativement, vous pouvez envisager de créer ceci à partir de la source par
git clone https://github.com/jaisidhsingh/LoRA-CLIP.git
cd LoRA-CLIP
pip install -e . import loraclip
import argparse
def test_loraclip ( args ):
# Easy-to-use with standard CLIP syntax.
# 1. Dynamic LoRA rank specification
# 2. Specify which encoder(s) to LoRA-ify
model , preprocess = loraclip . load ( args . clip_model_name , device = args . device , r = args . lora_rank , lora_mode = args . lora_mode )
# Utility to preview no. of trainable params along with their % with total params.
loraclip . print_trainable_parameters ( model )
def setup_args ():
parser = argparse . ArgumentParser ()
parser . add_argument ( "--clip-model-name" , type = str , default = "ViT-B/16" )
parser . add_argument ( "--device" , type = str , default = "cuda" )
parser . add_argument ( "--lora-rank" , type = int , default = 4 )
parser . add_argument ( "--lora-mode" , type = str , default = "vision+text" , choices = [ "vision" , "text" , "vision+text" ])
args = parser . parse_args ()
return args
if __name__ == "__main__" :
args = setup_args ()
test_loraclip ( args )https://github.com/openai/clip
https://github.com/sivandoveh/tsvlc