unilm 运行时错误:"compute_indices_weights_cubic"未为'Half'实现,

zazmityj  于 2个月前  发布在  其他
关注(0)|答案(9)|浏览(26)

你好,我在运行beit3时遇到了问题。我检查了CUDA可用且GPU内存为32G。
我在互联网上搜索到这是由于在CPU上运行的模型导致的。
所以你能给我一些建议吗?
谢谢!

mfuanj7w

mfuanj7w1#

你能提供更多关于如何使用beit3的信息吗?

kxeu7u2r

kxeu7u2r2#

运行顺序是:

python run_beit3_finetuning.py --model beit3_base_patch16_384 --input_size 384 --task coco_retrieval --batch_size 16 --sentencepiece_model cocomodel/beit3.spm --finetune cocomodel/beit3_base_itc_patch16_224.pth --data_path coco/ --eval --dist_eval

流程如下:

  1. 不使用分布式模式
  2. 命名空间(aa='rand-m9-mstd0.5-inc1', auto_resume=True, batch_size=16, captioning_mask_prob=0.6, checkpoint_activations=None, clip_grad=None, color_jitter=0.4, crop_pct=None, cutmix=0, cutmix_minmax=None, data_path=coco/', device='cuda', dist_eval=True, dist_on_itp=False, dist_url='env://', distributed=False, drop_path=0.1, drop_worst_after=12000, drop_worst_ratio=0.2, enable_deepspeed=False, epochs=20, eval=True, eval_batch_size=None, finetune=cocomodel/beit3_base_itc_patch16_224.pth', initial_scale_power=16, input_size=384, label_smoothing=0.1, layer_decay=0.9, length_penalty=0.6, local_rank=-1, log_dir=None, lr=0.0005, min_lr=1e-06, mixup=0, mixup_mode='batch', mixup_prob=1.0, mixup_switch_prob=0.5, model='beit3_base_patch16_384', model_ema=False, model_ema_decay=0.9999, model_ema_force_cpu=False, model_key='model|module', model_prefix='', momentum=0.9, nb_classes=1000, num_beams=3, num_max_bpe_tokens=64, num_workers=10, opt='adamw', opt_betas=[0.9, 0.999], opt_eps=1e-08, output_dir='', pin_mem=True, randaug=False, recount=1, remode='pixel', reprob=0.25, resplit=False, resume='', save_ckpt=True, save_ckpt_freq=5, seed=0, sentencepiece_model='cocomodel/beit3.spm', smoothing=0.1, start_epoch=0, task='coco_retrieval', task_cache_path='', task_head_lr_weight=0, train_interpolation='bicubic', update_freq=1, vocab_size=64010, warmup_epochs=5, warmup_lr=1e-06, warmup_steps=-1, weight_decay=0.05, world_size=1, zero_stage=0)
    加载了来自coco/coco_retrieval.train.jsonl的566747个图像文本对。
    加载了来自coco/coco
x6492ojm

x6492ojm3#

你能提供更多关于如何使用beit3的信息吗?
你好,更多的信息是更新的。

n3h0vuf2

n3h0vuf24#

我也不知道是什么原因导致了这个问题。看起来是因为将图像位置嵌入从14x14插值到24x24。

aamkag61

aamkag615#

我解决了!
我下载了错误的模型
点击链接来下载不是之前的文本

mum43rcc

mum43rcc6#

我也在模型微调时发现了同样的问题。似乎在没有启用deepspeed的情况下进行训练时,pos_token的数据格式是float16。然而,CPU上的半精度支持非常有限,且不会被扩展。我不知道这个问题是否可以解决。

yruzcnhs

yruzcnhs7#

我刚刚在这条线上转换了Tensor
unilm/beit3/utils.py
第574行
| | pos_tokens=pos_tokens.reshape(-1, orig_size, orig_size, embedding_size).permute(0, 3, 1, 2) |
转换为浮点数 pos_tokens = pos_tokens.reshape(-1, orig_size, orig_size, embedding_size).permute(0, 3, 1, 2).float()

mefy6pfw

mefy6pfw8#

是的,可能是由于CPU不支持某些类型导致的!
这能解决问题吗?

0qx6xfy6

0qx6xfy69#

嘿,请打开"stable-diffusion-webui/extensions/deforum-for-automatic1111-webui/scripts/deforum_helpers/depth.py"文件,在其中的MidasModel类中找到名为"_initialize"的函数。

将以下代码:

def _initialize(self, models_path, device, half_precision=True, keep_in_vram=False, use_zoe_depth=False, Width=512, Height=512):

修改为:

def _initialize(self, models_path, device, half_precision=False, keep_in_vram=False, use_zoe_depth=False, Width=512, Height=512):

对我来说这可以正常工作 :)

相关问题