我尝试在R中使用不同的Huggingface模型。这是通过网状结构导入Transformers包实现的(谢谢,https://rpubs.com/eR_ic/transfoRmers)
输入只需要一个字符串的模型对我来说是有效的,有些模型需要一个列表或向量,我不知道从哪里可以得到关于如何准确调用模型的信息。
以https://huggingface.co/openai/clip-vit-base-patch32为例,从python示例中我知道它获取了一张图片和(我假设)可能类的字符向量,Python输入如下:text=["a photo of a cat", "a photo of a dog"], images=image
library(reticulate)
library(here)
library(tidyverse)
transformers <- reticulate::import("transformers")
image_classification_zero_shot <- transformers$pipeline(task = "zero-shot-image-classification", model = "openai/clip-vit-base-patch32")
image_classification <- transformers$pipeline(task = "image-classification", model = "microsoft/beit-base-patch16-224-pt22k-ft22k")
image_url <- "http://images.cocodataset.org/val2017/000000039769.jpg"
只需要图像的模型可以工作
image_classification(images = image_url)
同样需要字符输入的模型不起作用。
image_classification_zero_shot(text = c("cats", "dogs"), images = image_url)
image_classification_zero_shot(text = "[cats, dogs]", images = image_url)
> Error in py_call_impl(callable, dots$args, dots$keywords) :
TypeError: object of type 'NoneType' has no len()
视图(image_classification_zero_shot)不产生任何信息。
1.我如何让零炮模型工作?
1.一般来说,我怎样才能获得在R中调用这些模型的信息呢?它是一个函数,我不应该在某个地方(在R中或在huggingface上)找到它的参数信息吗?
非常感谢!
1条答案
按热度按时间nnsrf1az1#
我在使用另一个名为"jonas/sdg_classifier_osdg"的Huggingface转换器时遇到了类似的问题。
1.在rmarkdown笔记本中编写python代码
1.在控制台上激活repl_python(),然后编写python代码。
同样的代码在用python编写时生成Tensor,而在用R编写时生成字符串。
如何有效地把一个R弦转换成一个Tensor,它的理解pythorch?(当我试图加载 Torch 与网状,R崩溃)