在测试Internvl-76B的时候,报错RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0!
在测试Internvl-76B的时候,代码如下: `from vlmeval.config import supported_VLM model = supported_VLM'InternVL2-76B-sft'
ret = model.generate(['assets/apple.jpg', 'What is in this image?']) #前向单张图片 print(ret) # 这张图片上有一个带叶子的红苹果
ret = model.generate(['assets/apple.jpg', 'assets/apple.jpg', 'How many apples are there in the provided images? ']) # 前向多张图片 print(ret) # 提供的图片中有两个苹果`
报的错误是:
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! (when checking argument for argument mat2 in method wrapper_CUDA_bmm)
请问一下这个如何解决?
代码改成这样就跑通了。。
跑到20%多又报错。。
你好,一般情况下我们默认推理Internvl-76B需要四张卡以防止out of memory。具体的切分方法在split_model函数中。
你好,一般情况下我们默认推理Internvl-76B需要四张卡以防止out of memory。具体的切分方法在split_model函数中。
我有8张卡在跑,显存应该是够的,但是就是会报错同时用了cpu和cuda,感觉是代码的问题。。按理来说应该只用cuda的,不知道cpu为啥用到
可以print split_model()函数的结果device_map和visible_devices看一下,是否能和本地的环境对齐