【小白学AI】图像标注Image Caption - tensorflow_models/im2txt

本文介绍了使用Google的tensorflow_models/im2txt实现图像描述生成项目时遇到的问题及解决办法,包括MSCOCO数据集的准备、Inception-v3模型下载和训练过程的注意事项。强调数据预处理的重要性,以及训练过程对硬件和时间的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Image Caption - im2txt 踩过的坑

学习Image Caption的同学在开始实践项目时,可以在github上找到一大堆不同的Image Caption Project,有很多项目也都对应的有其实现版本的论文,都很好。但是有一点不太好,大家貌似都不太愿意上传自己的参数文件,可能因为训练时间长,过程艰辛,且文件较大。本文从Google-Tensorflow/models/im2txt开始简要总结一下在实现期间的各种坑。

模型简介

Google在im2txt项目中实现自家的论文《Show and Tell: A Neural Image Caption Generator》,采用经典CNN+RNN框架。其中CNN为Inception-v3结构,RNN为LSTM结构。具体结构如下

关于该框架的细节在这里不多说,可以去看论文,本文主要说一下在工程实践时应该注意的问题,毕竟纸上得来终觉浅,绝知此事要恭行。

工程实践

在实践Image Caption中,因为大多数工程都不会给出训练好的参数文件,Google在tensorflow/im2txt中也一样,所以需要我们自己进行训练。在训练过程中,重点其实在数据准备工作中,这一步完成了后面都会比较顺利。

实践过程中,可以结合本文和im2txt官方文档一起进行。整个训练在一块NVIDIA Tesla K20m上需要花费1-2周时间,其中1周可以达到效果,2周达到峰值效果。所以这个工程对硬件和时间的要求还是比较高的。

注意一下,以下所有工程必须建立在Python2.7,否则会发生编码错误。下面详细介绍实践过程。

MSCOCO数据准备

数据下载是一个漫长的任务,在工程的第一步我们应该先让数据下载起来,再去处理其他任务,达到效率最大化。

Image Caption一般都在MSCOCO数据集进行训练,所以首要任务是下载MSCOCO数据,一共大概20G。

MSCOCO对Image Caption任务来说包含三部分数据:
1)训练图像:train2014.zip
2)验证图像:val2014.zip
3)训练与验证图像对应的标注caption:captions_train-val2014.zip

这里有两种方法下载。

1. 无脑按照Google给出流程(适用于数据和预处理一起的情况)

# Location to save the MSCOCO data.
MSCOCO_DIR="${HOME}/im2txt/data/mscoco"
(caption-env) root@ubuntu:~/models/MobileVLM-1.7B# export HF_ENDPOINT=https://hf-mirror.com (caption-env) root@ubuntu:~/models/MobileVLM-1.7B# huggingface-cli download MobileVLM/MobileVLM-1.7B-GGUF \ --include "mmproj-model-f16.gguf" \ --local-dir ./models Traceback (most recent call last): File "/root/caption-env/lib/python3.10/site-packages/huggingface_hub/utils/_http.py", line 409, in hf_raise_for_status response.raise_for_status() File "/root/caption-env/lib/python3.10/site-packages/requests/models.py", line 1026, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://hf-mirror.com/api/models/MobileVLM/MobileVLM-1.7B-GGUF/revision/main The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/root/caption-env/bin/huggingface-cli", line 8, in <module> sys.exit(main()) File "/root/caption-env/lib/python3.10/site-packages/huggingface_hub/commands/huggingface_cli.py", line 59, in main service.run() File "/root/caption-env/lib/python3.10/site-packages/huggingface_hub/commands/download.py", line 153, in run print(self._download()) # Print path to downloaded files File "/root/caption-env/lib/python3.10/site-packages/huggingface_hub/commands/download.py", line 187, in _download return snapshot_download( File "/root/caption-env/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 114, in _inner_fn return fn(*args, **kwargs) File "/root/caption-env/lib/python3.10/site-packages/huggingface_hub/_snapshot_download.py", line 245, in snapshot_download raise api_call_error File "/root/caption-env/lib/python3.10/site-packages/huggingface_hub/_snapshot_download.py", line 165, in snapshot_download repo_info = api.repo_info(repo_id=repo_id, repo_type=repo_type, revision=revision) File "/root/caption-env/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 114, in _inner_fn return fn(*args, **kwargs) File "/root/caption-env/lib/python3.10/site-packages/huggingface_hub/hf_api.py", line 2844, in repo_info return method( File "/root/caption-env/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 114, in _inner_fn return fn(*args, **kwargs) File "/root/caption-env/lib/python3.10/site-packages/huggingface_hub/hf_api.py", line 2629, in model_info hf_raise_for_status(r) File "/root/caption-env/lib/python3.10/site-packages/huggingface_hub/utils/_http.py", line 459, in hf_raise_for_status raise _format(RepositoryNotFoundError, message, response) from e huggingface_hub.errors.RepositoryNotFoundError: 401 Client Error. (Request ID: Root=1-686e1515-3beb98ac6fa889bc6c585014;e4999aad-8bdf-412a-b58e-6cf930bed578) Repository Not Found for url: https://hf-mirror.com/api/models/MobileVLM/MobileVLM-1.7B-GGUF/revision/main. Please make sure you specified the correct `repo_id` and `repo_type`. If you are trying to access a private or gated repo, make sure you are authenticated. For more details, see https://huggingface.co/docs/huggingface_hub/authentication Invalid username or password.
最新发布
07-10
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值