[Tensorflow][Train] Oxford-IIIT Pets 数据集训练

一 获取数据集

 

wget http://www.robots.ox.ac.uk/~vgg/data/pets/data/images.tar.gz
wget http://www.robots.ox.ac.uk/~vgg/data/pets/data/annotations.tar.gz
tar -xvf images.tar.gz
tar -xvf annotations.tar.gz

 

下载完成后,是这样的目录结构

 

tensorflow/models/research/ directory should appear as follows:

- images.tar.gz
- annotations.tar.gz
+ images/
+ annotations/
+ object_detection/
... other files and directories


二把数据集raw格式转成TFRecords形式

 

 

# From tensorflow/models/research/
python object_detection/create_pet_tf_record.py \
    --label_map_path=object_detection/data/pet_label_map.pbtxt \
    --data_dir=`pwd` \
    --output_dir=`pwd`

转换完成后会生成pet_train.record and pet_val.record 文件
 

 

三上传给google cloud去训练

 

 

参考:

https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/running_pets.md

### 下载小型动物分类数据集 为了满足需求,可以考虑使用公开可用的数据集来完成动物分类的任务。以下是几个适合的小型数据集推荐: #### 数据集选项 1. **Caltech-UCSD Birds (CUB-200-2011)** 这是一个广泛使用的鸟类图像数据集,包含大约 11,788 张图片,涵盖了 200 种不同的鸟类。该数据集不仅提供了高质量的标注,还包含了边界框和部分标记等额外信息[^3]。 2. **Oxford-IIIT Pet Dataset** Oxford-IIIT 宠物数据集由 37 类宠物组成,总共有约 7,349 张图片。每张图片都附有类别标签以及分割掩码,非常适合用于细粒度分类任务[^4]。 3. **Stanford Dogs Dataset** Stanford Dogs 是另一个专注于犬类品种识别的数据集,它包括了来自 120 个不同狗种的大约 20,580 幅图像。尽管规模稍大一些,但它仍然是一个非常有价值的资源,尤其对于深入研究特定种类动物而言[^5]。 如果倾向于更紧凑的选择,则可优先考虑前两者——它们既具备足够的多样性又不会因体积过大而难以处理。 #### 获取方法 通常这些学术用途的数据集可以通过其官方发布页面或者第三方托管平台(如 Kaggle 或 TensorFlow Datasets)免费获取到。例如: - 访问链接 [Caltech-UCSD Birds](https://www.vision.caltech.edu/visipedia/CUB-200-2011.html),按照指引填写申请表单即可获得下载权限。 - 对于 Oxford Pets ,可以直接从此地址 [Matlab File Exchange](https://www.mathworks.com/matlabcentral/fileexchange/69943-oxford-iiit-pet-dataset) 中找到压缩包形式的内容供本地加载测试之需;当然也支持通过 Python 的 `tensorflow_datasets` 库快速调用安装。 ```python import tensorflow as tf import tensorflow_datasets as tfds # 加载 Oxford IIIT Pets 数据集 (ds_train, ds_test), ds_info = tfds.load( 'oxford_iiit_pet', split=['train', 'test'], shuffle_files=True, with_info=True, as_supervised=True, ) def normalize_image(image, label): """标准化输入像素值至 [-1, 1].""" image = tf.cast(image, tf.float32) image = (image / 127.5) - 1. return image, label batch_size = 32 resize_to = 128 # 预处理并批量化训集 ds_train = ( ds_train.map(normalize_image, num_parallel_calls=tf.data.AUTOTUNE).cache() .shuffle(1000).batch(batch_size).prefetch(tf.data.AUTOTUNE)) # 同样操作应用于验证集合上 ds_test = ( ds_test.map(normalize_image, num_parallel_calls=tf.data.AUTOTUNE).batch(batch_size)) ``` 上述脚本展示了如何利用 Tensorflow 提供的功能轻松读取预定义好的 pets 数据源,并做好初步准备以便后续建模分析工作开展起来更加顺畅高效[^6]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值