openai多模态大模型:clip详解及实战

CLIP 模型全面解析 图 1:CLIP 将相关的图像和文本映射到相近的向量空间位置,不相关的则距离较远 (例如,文本描述“两只狗在寒冷田野上奔跑”会被编码到与真实犬类奔跑场景图片相似的向量;而描述“大象在塞伦盖蒂”的文本与狗的图片在向量空间中距离很远。CLIP(Contrastive Language-Image Pre-training,对比语言-图像预训练)是 OpenAI 于 2021 年提出的一种多模态模型,它通过在海量图像-文本对上进行自监督训练,将图像和文本映射到简单来说,CLIP 包含两个主体:一个和一个。 阅读详情

引言

CLIP全称Constrastive Language-Image Pre-training,是OpenAI推出的采用对比学习的文本-图像预训练模型。CLIP惊艳之处在于架构非常简洁且效果好到难以置信,在zero-shot文本-图像检索,zero-shot图像分类,文本→图像生成任务guidance,open-domain 检测分割等任务上均有非常惊艳的表现。

论文地址:clip论文

github地址:code

7beb8a7df5a84734be21ae7110a503ef.jpeg

1 Clip模型介绍

1.1 Zero-Shot Learning

1.1.1 Zero-Shot Learning的定义

零次学习(Zero-Shot Learning,简称ZSL)假设斑马是未见过的类别,但根据描述外形和马相似、有类似老虎的条纹、具有熊猫相似的颜色,通过这些描述推理出斑马的具体形态,从而能对斑马进行辨认。零次学习就是希望能够模仿人类的这个推理过程,使得计算机具有识别新事物的能力,如下图所示。

9f4997398c4f4534833ad9cb363a12a4.png

如今深度学习非常火热,使得纯监督学习在很多任务上都达到了让人惊叹的结果,但其限制是:往往需要足够多的样本才能训练出足够好的模型,并且利用猫狗训练出来的分类器,就只能对猫狗进行分类,其他的物种它都无法识别。这样的模型显然并不符合我们对人工智能的终极想象,我们希望机器能够像上文中的小暗一样,具有通过推理,识别新类别的能力。

ZSL就是希望我们的模型能够对其从没见过的类别进行分类,让机器具有推理能力,实现真正的智能。其中零次(Zero-shot)是指对于要分类的类别对象,一次也不学习。

1.1.2 Zero-Shot Learning的方法

1.1.3 Zero-Shot Learning面临的问题

领域漂移问题(domain shift problem)

该问题的正式定义首先由[2]提出。简单来说,就是同一种属性,在不同的类别中,视觉特征的表现可能很大。如图3所示,斑马和猪都有尾巴,因此在它的类别语义表示中,“有尾巴”这一项都是非0值,但是两者尾巴的视觉特征却相差很远。如果斑马是训练集,而猪是测试集,那么利用斑马训练出来的模型,则很难正确地对猪进行分类。

format,png

枢纽点问题(Hubness problem)

这其实是高维空间中固有的问题:在高维空间中,某些点会成为大多数点的最近邻点。这听上去有些反直观,细节方面可以参考[3]。由于ZSL在计算最终的正确率时,使用的是K-NN,所以会受到hubness problem的影响,并且[4]中,证明了基于岭回归的方法会加重hubness problem问题。

语义间隔(semantic gap)

样本的特征往往是视觉特征,比如用深度网络提取到的特征,而语义表示却是非视觉的,这直接反应到数据上其实就是:样本在特征空间中所构成的流型与语义空间中类别构成的流型是不一致的。

format,png

这使得直接学习两者之间的映射变得困难。

1.2 Clip模型

1.2.1 CLIP模型创新点

CLIP的创新之处在于,它能够将图像和文本映射到一个共享的向量空间中,从而使得模型能够理解图像和文本之间的语义关系。这种共享的向量空间使得CLIP在图像和文本之间实现了无监督的联合学习,从而可以用于各种视觉和语言任务。

CLIP的设计灵感源于一个简单的思想:让模型理解图像和文本之间的关系,不仅仅是通过监督训练,而是通过自监督的方式。CLIP通过大量的图像和文本对来训练,使得模型在向量空间中将相应的图像和文本嵌入彼此相近。

CLIP将图像和文本先分别输入一个图像编码器image_encoder和一个文本编码器text_encoder,得到图像和文本的向量表示 I_f 和 T_f 。然后将图像和文本的向量表示映射到一个joint multimodal sapce,得到新的可直接进行比较的图像和文本的向量表示 I_e 和T_e (这是多模态学习中常用的一种方法,不同模态的数据表示之间可能存在gap,无法进行直接的比较,因此先将不同模态的数据映射到同一个多模态空间,有利于后续的相似度计算等操作)。然后计算图像向量和文本向量之间的cosine相似度。最后,对比学习的目标函数就是让正样本对的相似度较高,负样本对的相似度较低。

1.2.2 CLIP模型的特点

  • 统一的向量空间: CLIP的一个关键创新是将图像和文本都映射到同一个向量空间中。这使得模型能够直接在向量空间中计算图像和文本之间的相似性,而无需额外的中间表示。

  • 对比学习: CLIP使用对比学习的方式进行预训练。模型被要求将来自同一个样本的图像和文本嵌入映射到相近的位置,而将来自不同样本的嵌入映射到较远的位置。这使得模型能够学习到图像和文本之间的共同特征。

  • 无监督学习: CLIP的预训练是无监督的,这意味着它不需要大量标注数据来指导训练。它从互联网上的文本和图像数据中学习,使得它在各种领域的任务上都能够表现出色。

1.2.3 CLIP模型训练

CLIP模型训练分为三个阶段:

  • Contrastive pre-training:预训练阶段,使用图片 - 文本对进行对比学习训练;
  • Create dataset classifier from label text:提取预测类别文本特征;
  • Use for zero-shot predictiion:进行 Zero-Shoot 推理预测;

36e1e05f31304d12895ed32c2e0343ab.png

在预训练阶段,对比学习十分灵活,只需要定义好正样本对和负样本对就行了,其中能够配对的图片-文本对即为正样本。具体来说,先分别对图像和文本提特征,这时图像对应生成 I1、I2 ... In 的特征向量,文本对应生成T1、T2 ... Tn 的特征向量,然后中间对角线为正样本,其余均为负样本。这样的话就形成了n个正样本,n^2 - n个负样本。一旦有了正负样本,模型就可以通过对比学习的方式训练起来了,完全不需要手工的标注。自监督的训练需要大量的数据,OPEN AI的这个训练数据量大约在 4亿个的数量级。

acad41d6ef294b6fafb7e6d23a38c7d7.png

由于训练数据巨大,训练十分耗费时间,所以必须对训练策略进行一些改进以提升训练效率。采用对比学习进行训练的一个重要原因也是考虑到训练效率。如下图最下面的蓝线表示像GPT2这种预测型的任务(预测型的任务是指,我有一张图片,去预测图片对应的描述,这个时候因为人类的语言是个奇妙又伟大的东西,一张图往往能对应出多种文本描述,比如姚明篮球打得好和姚明真高,对于描述同一张图并不冲突),可以看到是最慢的。中间黄线是指一种bag of words 的方式,不需要逐字逐句地去预测文本,文本已经抽象成特征,相应的约束也放宽了,这样做训练速度立马提高了 3 倍。接下来进一步放宽约束,不再去预测单词,而是去判断图片-文本对,也就是绿色的线 对比学习的方法,这样效率又可以一下提升至4倍。 

eb905c623a1344f5a83d6e0dd681d14f.png

等训练好了,然后进入前向预测阶段。首先需要对文本类别进行一些处理,拿 ImageNet 数据集的 1000 个类别来说,原始的类别都是单词,而 CLIP 预训练时候的文本端出入的是个句子,这样一来为了统一就需要把单词构造成句子,怎么做呢?可以使用 A photo of a {object}. 的提示模板 (prompt template) 进行构造,比如对于 dog,就构造成 A photo of a dog.,然后再送入 Text Encoder 进行特征提取,就 ImageNet 而言就会得到一个 1000 维的特征向量,整个过程如下:

0b1c1a125e3d4526bb11c9116ce622af.png

 最后就是推理见证效果的时候,怎么做的呢。这个时候无论你来了张什么样的图片,只要扔给 Image Encoder 进行特征提取,会生成一个一维的图片特征向量,然后拿这个图片特征和 1000 个文本特征做余弦相似度对比,最相似的即为我们想要的那个结果,比如这里应该会得到 A photo of a dog.,整个过程如下:

a25a5e176845487aace4c96c08583256.png

扩展性/泛化能力:上面是拿 ImageNet 那 1000 个类进行展示的,在实际使用中,这个类别文本不限于ImageNet那1000个类,而预测的图片也不限于ImageNet那1.28 万张图片。然而,我依旧可以使用检索相似度的方式去得到输出,这样网络的灵活性就特别高了。不难发现,类别文本提取的特征类似于人脸识别里的检索库,图片提取特征就是待检测的那个。

以上就是 CLIP 工作的总览,可以看到 CLIP 在一次预训练后,可以方便的迁移到其他视觉分类任务上进行 Zero-Shoot 的前向预测。

由于CLIP 学习的是文本语义信息,而不是单类别信息,这样做的好处可以体现在迁移能力上。CLIP不仅在ImageNet 常规数据集上表现优秀,对于ImageNet Sketch 素描图、ImageNet-R 动漫图等非常规图像上的迁移学习能力依旧表现的非常好,如下:

0658cd003b7b4b1cb5c72897e77989ac.png

看最重要的 Zero-Shoot / Few-Shoot 的能力,主要对比有监督的 Base 网络,涉及的迁移数据集有 27 个之多,可以看到CLIP 的Zero-Shoot 能力十分突出,其中 Linear Probe 的意思是指训练的时候把预训练好的模型权重冻住,直接用其提取特征,然后只是去训练最后的 fc 分类头。

259fa59bb9b2449b820fa35abeb6f65c.png

ba764dd128274bea85d623f08b43ca0f.png

 训练过程可视化:

CLIP训练可视化

1.2.4 CLIP训练效果

当使用 CLIP 特征训练一个完全监督的线性分类器时,发现它在准确性和计算成本方面都优于许多基线,可以看出 CLIP 通过自然语言监督学习的表示的质量是很高的;

488d01d475884d799eeb664530924f51.png

2 Clip模型部署及使用

2.1 conda环境准备

        conda环境准备详见:annoconda

2.2 运行环境安装

conda create -n clip python=3.9
activate clip
 
pip install torch==1.9.0
pip install torchaudio==0.9.0
pip install torchvision==0.10.0
 
pip install ftfy regex tqdm
pip install git+https://github.com/openai/CLIP.git

注意:如果pip install git+https://github.com/openai/CLIP.git失败,使用下面的命令启用代理安装

pip install git+https://ghproxy.com/https://github.com/openai/CLIP.git

2.2 模型下载

文字编码器是transformer,图片编码器测试了各种版本的ResNet(经过Efficientnet最优宽度深度分辨率)和VIT。共训了5个resnet和4个VIT,其中ViT-L/14@336px效果最好。

_MODELS = {
    "RN50": "https://openaipublic.azureedge.net/clip/models/afeb0e10f9e5a86da6080e35cf09123aca3b358a0c3e3b6c78a7b63bc04b6762/RN50.pt",
    "RN101": "https://openaipublic.azureedge.net/clip/models/8fa8567bab74a42d41c5915025a8e4538c3bdbe8804a470a72f30b0d94fab599/RN101.pt",
    "RN50x4": "https://openaipublic.azureedge.net/clip/models/7e526bd135e493cef0776de27d5f42653e6b4c8bf9e0f653bb11773263205fdd/RN50x4.pt",
    "RN50x16": "https://openaipublic.azureedge.net/clip/models/52378b407f34354e150460fe41077663dd5b39c54cd0bfd2b27167a4a06ec9aa/RN50x16.pt",
    "RN50x64": "https://openaipublic.azureedge.net/clip/models/be1cfb55d75a9666199fb2206c106743da0f6468c9d327f3e0d0a543a9919d9c/RN50x64.pt",
    "ViT-B/32": "https://openaipublic.azureedge.net/clip/models/40d365715913c9da98579312b702a82c18be219cc2a73407c4526f58eba950af/ViT-B-32.pt",
    "ViT-B/16": "https://openaipublic.azureedge.net/clip/models/5806e77cd80f8b59890b7e101eabd078d9fb84e6937f9e85e4ecb61988df416f/ViT-B-16.pt",
    "ViT-L/14": "https://openaipublic.azureedge.net/clip/models/b8cca3fd41ae0c99ba7e8951adf17d267cdb84cd88be6f7c2e0eca1737a03836/ViT-L-14.pt",
    "ViT-L/14@336px": "https://openaipublic.azureedge.net/clip/models/3035c92b350959924f9f00213499208652fc7ea050643e8b385c2dac08641f02/ViT-L-14-336px.pt",
}

 本示例使用ViT-L/14@336px模型,下载完成后,将模型放到/opt/models目录下,显示如下:

-rw-r--r-- 1 root root 934088680 8月  15 19:10 ViT-L-14-336px.pt

2.3 使用clip进行编码测试

dd72ca0ae2994d81989384da92b7ba00.png

将以上图片保存到/opt/data目录下

import torch
import clip
from PIL import Image
from torchvision import transforms

class ClipEmbeding:
    device = "cuda" if torch.cuda.is_available() else "cpu"

    def __init__(self):
        self.model, self.processor = clip.load("/opt/models/ViT-L-14-336px.pt", device=self.device)
        self.tokenizer = clip.tokenize

    def probs(self, image: Image):
        process_image = self.processor(image).unsqueeze(0).to(self.device)
        text = self.tokenizer(["a diagram", "a dog", "a cat"]).to(self.device)

        with torch.no_grad():
            logits_per_image, logits_per_text = self.model(process_image, text)
            probs = logits_per_image.softmax(dim=-1).cpu().numpy()

        print("Label probs:", probs)


    def embeding(self, image: Image, text: str):
        process_image = self.processor(image).unsqueeze(0).to(self.device)
        text = self.tokenizer([text]).to(self.device)

        image_features = self.model.encode_image(process_image)
        text_features = self.model.encode_text(text)
        return image_features, text_features


if __name__ == "__main__":
    image_path = '/opt/data/cat.jpg'

    pil_image = Image.open(image_path)

    clip_embeding = ClipEmbeding()
    clip_embeding.probs(pil_image)

运行结果显示如下:

Label probs: [[1.4230663e-05 1.1715608e-03 9.9881423e-01]]

通过结果可知,经过clip模型预测,图片与“a cat”的相似程度最高。

2.4 clip模型Zero-Shot Prediction

import os
import clip
import torch
from torchvision.datasets import CIFAR100
import matplotlib.pyplot as plt

# Load the model
device = "cuda" if torch.cuda.is_available() else "cpu"
model, preprocess = clip.load('/opt/models/ViT-L-14-336px.pt', device)

# Download the dataset
cifar100 = CIFAR100(root=os.path.expanduser("data"), download=True, train=False)

# Prepare the inputs
image, class_id = cifar100[1000]
image_input = preprocess(image).unsqueeze(0).to(device)
text_inputs = torch.cat([clip.tokenize(f"a photo of a {c}") for c in cifar100.classes]).to(device)

plt.imshow(image)
plt.show()

# Calculate features
with torch.no_grad():
    image_features = model.encode_image(image_input)
    text_features = model.encode_text(text_inputs)

# Pick the top 5 most similar labels for the image
image_features /= image_features.norm(dim=-1, keepdim=True)
text_features /= text_features.norm(dim=-1, keepdim=True)
similarity = (100.0 * image_features @ text_features.T).softmax(dim=-1)
values, indices = similarity[0].topk(5)

# Print the result
print("\nTop predictions:\n")
for value, index in zip(values, indices):
    print(f"{cifar100.classes[index]:>16s}: {100 * value.item():.2f}%")

输出结果:

9f22cf99d3744bf1bf2d51eac7744130.png

Top predictions:

          rabbit: 60.15%
           shrew: 10.15%
    sweet_pepper: 4.02%
       porcupine: 2.11%
           mouse: 1.50%

3 总结

CLIP模型已经在许多视觉和语言任务中展现出惊人的性能,如图像分类、零样本分类、图像生成的指导、图像问答等。它的成功不仅在于其创新的架构,还在于它的预训练策略,使得模型能够从大规模无监督数据中学习到有用的图像和文本表示。

大模型学习 -- CLIP 这样做的好处是减小了sequence的长度,也就减少了计算量,训练速度更快;CLIP的双塔结构分别提取图像和文本的全局特征做对比学习,缺少局部信息的交互,FILIP增加了image tokens和text tokens的细粒度交互。最后,为了减少分布上的gap(训练mask测试一版不mask),FLIP会在最后增加少量的unmasking训练,可以进一步提升模型的性能。一种简单高效的CLIP加速训练方法,只需mask掉部分图像,就可以将CLIP的训练过程加速2~3倍,而且能实现更好的性能。 阅读详情

相关推荐

clip预训练模型综述

CLIP是一个预训练模型,就像BERT、GPT、ViT等预训练模型一样。首先使用大量无标签数据训练这些模型,然后训练好的模型就能实现,输入一段文本(或者一张图像),输出文本(图像)的向量表示。CLIP和BERT、GPT、ViT的区别在于,CLIP是多模态的,包含图像处理以及文本处理两个方面内容,而BERT、GPT是单文本模态的,ViT是单图像模态的。.........

zcyzcyjava的博客 2万+

【小白】一文读懂CLIP图文多模态模型

CLIP(Contrastive Language-Image Pre-Training)模型是一种多模态预训练神经网络,由OpenAI在2021年发布,是从自然语言监督中学习的一种有效且可扩展的方法。CLIP在预训练期间学习执行广泛的任务,包括OCR,地理定位,动作识别,并且在计算效率更高的同时优于公开可用的最佳ImageNet模型。该模型的核心思想是使用大量图像和文本的配对数据进行预训练,以学习图像和文本之间的对齐关系。

weixin_47228643的博客 22万+

多模态大模型-CLIP

我们探究了能否将自然语言处理(NLP)中与任务无关的网络规模预训练的成功经验迁移至其他领域。研究发现,采用该模式后,计算机视觉领域也出现了类似的现象,同时我们还探讨了这一研究方向所带来的社会影响。为优化训练目标,CLIP 模型在预训练过程中学习执行多种任务,而后可通过自然语言提示利用这种任务学习能力,实现对众多现有数据集的零样本迁移。在足够的规模下,尽管该方法仍有很大的改进空间,但其性能已可与特定任务的监督模型相媲美。

3727

多模态模型学习1——CLIP对比学习 语言-图像预训练模型

学了一些多模态的知识,CLIP算是其中最重要也是最通用的一环,一起来看一下吧。CLIP的全称是Contrastive Language-Image Pre-Training,中文是对比语言-图像预训练,是一个预训练模型,简称为CLIP。该模型是 OpenAI 在 2021 年发布的,最初用于匹配图像和文本的预训练神经网络模型,这个任务在多模态领域比较常见,可以用于文本图像检索,CLIP是近年来在多模态研究领域的经典之作。该模型大量的成对互联网数据进行预训练,在很多任务表现上达到了目前最佳表现(SOTA)

Bubbliiiing的学习小课堂 6万+

大模型-CLIP 详细介绍

最先进的计算机视觉系统通常被训练来预测一组预定义的对象类别。这种受限的监督形式限制了它们的通用性和可用性,因为要指定任何其他视觉概念,就需要额外的标注数据。比如,它们可以识别“猫”、“狗”、“汽车”等。但是,这种做法有一个明显的局限性:如果你想让系统识别一个新的类别,比如说“独角兽”,你就必须提供大量带有“独角兽”标签的图片来训练系统。这不仅耗时费力,而且限制了系统的灵活性和广泛适用性。直接从原始文本中学习关于图像的信息是一种很有前途的替代方案,因为它利用了更广泛的监督来源。

晓的博客 9679

多模态融合论文学习:(三) 2025CLIP详解

当前最先进的计算机视觉系统通常被训练来预测一组预先确定的目标类别。这种受限的监督方式限制了模型的泛化能力和适用性,因为如果想要识别新的视觉概念,就必须额外获取标注数据。相比之下,直接从关于图像的原始文本中学习是一种更具潜力的替代方案,它可以利用更广泛的数据来源来进行监督学习。本研究表明,仅通过一个简单的预训练任务——预测哪一张图片与哪一个文本描述匹配,就可以高效、可扩展地从头学习最先进(SOTA)的图像表示。我们使用从互联网收集的 4 亿对(图片、文本) 进行预训练。

aminghhhh的博客 2250

CLIP模型

利用文本的监督信号训练一个迁移能力强的视觉模型!这个模型有什么用呢?想象我们有一个图像分类的任务训练1000个类别,预测一张图片是这1000个类别中的哪一类现在如果加入50个新的类别的图像,试想会发生什么呢?传统的图像分类模型无法对类别进行拓展,想要保证准确率只能从头开始训练,费时费力。CLIP模型就可以用来解决这种问题,预训练后的模型就可以直接进行zero-shotCLIP论文指出,17年就已经开始有这些方法了,但是没获得太多关注。

NEUQ_snowy的博客 1万+

多模态表征—CLIP及中文版 Chinese-CLIP:理论讲解与代码微调

CLIP(对比语言-图像预训练)是一种通过对大量的图文对进行对比学习,从而获得图像和文本联合表征的模型。它可以将图像和文本映射到同一个向量空间,使得相似的图像和描述具有更高的相似度。本文详细介绍了 CLIP 和 Chinese-CLIP 的理论基础,并通过代码示例展示了如何进行模型的微调和应用。通过对多模态模型的掌握,能够更好地应对图像和文本之间的关联任务,为实际应用提供强有力的支持。

小蜗牛的珍贵百宝箱 1409

博客摘录「 openai多模态大模型:clip详解及实战」2024年7月12日

对于要分类的类别对象,一次也不学习。

qq_35880301的博客 214

多模态(1)—— OpenAI 多模态入门

本篇文章中,我们介绍了当下在大模型领域非常火爆的多模态功能,并以 OpenAI 的相关模型为例,具体讲解了如何实现文生图、图片理解和文本转语音等功能。

weixin_34452850的博客 1443

13 万字 C 语言从入门到精通保姆级教程2021 年版

13 万字C语言保姆级教程,从入门到精通。

李南江 61万+

多模态:CLIP详解

2.8: 首先为今天还在努力学习的人们献上🎆CLIP目前无论在CV领域还是NLP领域都是人尽皆知的,该模型的发布直接带动了整个多模态领域的飞速发展。Open AI提出Contrastive Language-Image Pre-training (CLIP),突破了文本-图像之间的限制。CLIP使用大规模的文本-图像配对预训练,并且可以直接迁移到Imagenet上,完全不需要图像标签微调即可实现zero-shot分类。

WiSirius的博客 9258

Python中的串口通信库pyserial(基础)

pyserial是一个跨平台的库,可以在多个操作系统上使用,包括Windows、Linux和MacOS。:flushInput方法用于清除输入缓冲区中的所有数据,flushOutput方法用于清除输出缓冲区中的所有待发送数据。:PySerial允许在创建Serial对象后,通过修改对象的属性来设置串口参数,如波特率、数据位、校验位和停止位。同时,也提供了方法或属性来检查串口的状态,如是否已打开。:sendBreak方法用于向串口发送一个BREAK信号,这可以用于向连接的设备发送一个中断或重置信号。

weixin_44217158的博客 1万+

CLIP多模态模型详解

CLIP是一种突破性多模态模型,通过对比学习将图像和文本映射到统一语义空间。其核心创新在于:双编码器架构(图像/文本)、零样本迁移能力、利用4亿互联网图文对预训练。相比传统CV模型,CLIP摆脱人工标注依赖,仅用文本描述即可推理。应用包括零样本分类、图文检索、图像生成引导等。局限性包括计算成本高、细粒度不足和数据偏差。作为多模态AI基石,CLIP推动了DALL-E等AIGC模型发展,开创了无监督预训练在多模态领域的新范式。

sjtu_wyy的博客 2045

5G 网络的移动性管理上下文对比介绍

5G 网络的移动性管理上下文对比介绍 4G/5G MM移动性管理机制对比 5G引入了新移动性管理状态,通过mobility pattern(移动方式)实现按需的移动性管理等。 MM的相关状态分为一下几种: RM状态(用户注册管理 注册态/非注册态)和CM状态(用户连接态/空闲态)独立;RM状态标识UE是否注册到网络,CM状态标识UE和核心网的信令连接是否存在。 RAN侧引入RRC-inactive state:UE(用户端)对于CN(核心网)而言处于连接态,对RAN(接入网)而言处于Ld..

m0_59032675的博客 4804

单细胞双胞过滤-scrublet安装

pip install scrublet ----use-pep517有如下报错,分析可知安装annoy时不会自动更新gcc的版本,centos默认是4.8.5。pip install scrublet ----use-pep517 仍然报错,但似乎不影响使用,提示Successfully installed。打开终端,进入Python环境,输入以下代码,查看Python安装位置。暂时还没尝试是否存在问题,如果存在问题,降级scrublet版本。包的开发依赖的是比较低版本的numpy,会用到。

hzau_t的博客 783

OpenAI最重要的模型【CLIP】

CLIP 代表 Contrastive Language-Image Pretraining:CLIP 是一个开源、多模态、零样本模型。给定图像和文本描述,该模型可以预测与该图像最相关的文本描述,而无需针对特定任务进行优化。开源:该模型由 OpenAI 创建并开源。稍后我们将看到有关如何使用它的编程教程。多模态:多模态架构利用多个领域来学习特定任务。CLIP 结合了自然语言处理和计算机视觉。零样本:零样本学习是一种在未见过的标签上进行泛化的方法,无需专门训练来对它们进行分类。

新缸中之脑 1万+

基于python的奥运会历史数据分析【120年】

数据分析实战案例

xff123456_的博客 3332

CLIP多模态大模型的优势及其在边缘计算中的应用

CLIP(Contrastive Language-Image Pre-training)是OpenAI开发的一种革命性多模态模型,通过对比学习方式在大规模图像-文本对上进行预训练,实现了图像和文本信息的跨模态对齐。:CLIP采用双塔结构(图像编码器和文本编码器),通过对比损失函数优化,将图像和文本映射到共享的语义空间,使相似内容在特征空间中接近。这种设计使其能够理解图像和文本之间的深层语义关系。:CLIP无需针对特定任务进行微调,仅通过文本提示(prompt)就能完成多种视觉任务,如图像分类、检索等。

moonsims的博客 1668

20、微电网系统的系统框架、建模与控制架构解析

本文详细解析了微电网系统的系统框架、建模方法以及控制架构。文章首先介绍了在系统的系统(SoS)框架下,微电网如何通过微控制器(MC)和微电网中央控制器(MGCC)协调运行,并支持并网与孤岛模式下的高效能量管理。随后,针对微电网的关键组件,包括微涡轮机、光伏太阳能电池和风力涡轮机,提供了详细的数学建模分析。最后,探讨了微电网的控制架构设计,涵盖分层控制和共识控制策略,以实现系统的高效、稳定运行,满足日益增长的能源需求与市场要求。

elastic6hunter的博客 204

SAP-ABAP:SAP Open SQL 分页技术深度解析:语法、性能陷阱与最佳实践

SAP Open SQL 分页技术深度解析:语法、性能陷阱与最佳实践

baidu_35680696的博客 626

CLIP:多模态大模型的基石,非常详细收藏我这一篇就够了

引言 之前看 DeepSeek-OCR 的编码器中,用到了 CLIP 这个结构。 多模态大模型的一个难点是让模型能够能够理解视觉信息,即实现语言和图像在语义空间的对齐。 本文来回顾一下 OpenAI 2021年提出的 CLIP 这项基石性工作[1],看看它具体是怎么做的。

2401_84204413的博客 1150

把 ABAP ALV 做成可点、可改、可保存:Interactive Editable ALV Grid 的一套落地打法

文章摘要(148字): SAP ALV报表开发中,交互式可编辑网格的实用方案需解决三个核心问题:数据展示、交互下钻与编辑保存。本文以SCARR航空公司和SFLIGHT航班数据为例,演示如何实现双击主列表下钻明细、动态切换编辑模式、精确保存修改的技术路线。关键点包括:通过PF-STATUS添加业务按钮、使用CHECK_CHANGED_DATA同步前端修改、保护关键字段避免误操作,以及变更数据的审计跟踪方法。该方案适用于SAP GUI环境下的快速业务调整需求,相比Fiori开发具有更高的实施效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 221

多模态大模型 | CLIP论文总结 | 2021.02.26 OpenAI | 打通 图像-文本

即使你学习到了很好的特征,当你运用到下游任务的时候,你还是需要有标签的数据去做微调。把对比学习中的temperature这个超参数,设计为可学习的标量了,直接在模型训练过程中就被优化了,不需要当成一个超参数去调参。之前的自监督或者无监督的方法,主要研究的是特征学习的能力,他们的目标是学习一个泛化比较好的特征。现在的监督信号是一个文本,而不是n选1的这种标签了,所以模型的输入输出啊,自由度就大很多。训练出来的模型又大又好,而且又简单,泛化性又好,为多模态的训练铺平了道路。

5年+算法工程师,分享人工智能前沿技术,与自己的工程经验,欢迎订阅关注。 1603

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

CLIP:多模态大模型的基石

之前看 DeepSeek-OCR 的编码器中,用到了 CLIP 这个结构。多模态大模型的一个难点是让模型能够能够理解视觉信息,即实现语言和图像在语义空间的对齐。本文来回顾一下 OpenAI 2021年提出的 CLIP 这项基石性工作[1],看看它具体是怎么做的。

兴趣使然的创作者 936

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

保姆级教程!CLIP究竟是什么?多模态大模型的基石,看这篇就够了!

之前看 DeepSeek-OCR 的编码器中,用到了 CLIP 这个结构。 多模态大模型的一个难点是让模型能够能够理解视觉信息,即实现语言和图像在语义空间的对齐。 本文来回顾一下 OpenAI 2021年提出的 CLIP 这项基石性工作[1],看看它具体是怎么做的。

weixin_58753619的博客 2039

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 为AI而生的数据库:Milvus详解及实战
下一篇: 计算机视觉:比SAM快50倍的分割一切视觉模型FastSAM
源启智能
博客等级 码龄20年 3万+粉丝 285原创
评论 19
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源启智能

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值