nn pic model preprocess note

本文探讨了深度学习中Inception和VGG模型的预处理步骤,并提到了一个关键的top2概念,同时包含了尝试应用的探索。

inception 预处理

https://github.com/fchollet/keras/blob/master/keras/applications/inception_v3.py

def preprocess_input(x):
    x /= 255.
    x -= 0.5
    x *= 2.
    return x

vgg 预处理

    if len(x.shape) == 3:
        #print("[INFO] channel:{}".format(data_format))
        if data_format == 'channels_first':
            x = x.transpose(2, 0, 1)
    elif len(x.shape) == 2:
        if data_format == 'channels_first':
            x = x.reshape((1, x.shape[0], x.shape[1]))
        else:
            x = x.reshape((x.shape[0], x.shape[1], 1))
    else:
        raise ValueError('Unsupported image shape: ', x.shape)
im[:,:,0] -= 103.939
im[:,:,1] -= 116.779
im[:,:,2] -= 123.68

top2

这里写图片描述

try

_________________________________________________________________
Layer (type)                 Output Shape              Param #
================================================
### 使用 `lavis.models.load_model_and_preprocess` 导入本地训练的模型及进行预处理 为了使用 LAVIS 库中的 `load_model_and_preprocess` 函数来加载本地训练的模型并执行相应的预处理操作,需遵循以下方法: #### 设置环境 首先确保已按照官方指南创建好 Python 环境,并安装了必要的依赖包。这可以通过 Conda 来完成[^3]。 ```bash conda create -n lavis python=3.8 conda activate lavis pip install salesforce-lavis ``` 对于希望深入修改或贡献代码的情况,则应克隆仓库并安装开发版本。 #### 加载模型与预处理器 当准备好环境之后,就可以调用 `load_model_and_preprocess` 方法来获取所需的模型实例及其配套的数据处理流程。此过程涉及指定具体的模型名称、配置类型以及其他参数设置。 ```python from lavis.models import load_model_and_preprocess device = 'cuda' if torch.cuda.is_available() else 'cpu' model, vis_processors, text_processors = load_model_and_preprocess( name="blip_caption", model_type="large_coco", is_eval=True, device=device ) ``` 这段代码展示了如何加载名为 `"blip_caption"` 的模型,其变体为 `"large_coco"` 版本,在评估模式下运行并将计算设备设定为 GPU 或 CPU 取决于可用性[^2]。 #### 处理输入数据 一旦获得了模型对象和对应的视觉/文本处理器后,便可以根据实际需求对原始图片或其他形式的输入做进一步转换。这里给出的例子是对一张未经任何变换的照片应用标准化的测试阶段图像处理逻辑。 ```python import PIL.Image as Image # 假设 raw_image 是已经读取到内存中的PIL.Image对象 processed_image = vis_processors["eval"](raw_image).unsqueeze(0).to(device) ``` 上述片段说明了怎样将原图转化为适合送入神经网络的形式——即张量(tensor),并且调整维度使其匹配批量大小(batch size)的要求,最后转移到目标硬件平台上等待后续运算。 #### 执行预测任务 有了经过适当准备后的输入样本以后,即可调用生成器接口来进行推断工作。例如下面展示的是基于核采样的方式一次性产出三个可能描述该幅画作的文字表述。 ```python captions = model.generate({"image": processed_image}, use_nucleus_sampling=True, num_captions=3) for caption in captions: print(caption) ``` 以上就是关于如何借助 LAVIS 工具箱实现从加载自定义训练成果直至最终得到预期输出整个链条的操作指导[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值