我是TensorFlow 2的初学者,我正在使用TensorFlow的2.3.1版
我想基于Inception v3构建一个图像分类器。在使用Inception网络中的数据之前,我必须首先准备好数据。对于此任务,我将使用“oxford_flower102”数据集。我找到了两种获取数据集的方法,但我不知道在哪种情况下应该使用哪种方法
import tensorflow as tf
dataset, dataset_info = tfds.load('oxford_flowers102, with_info=True, as_supervised=True)
from six.moves import urllib
import os
import tarfile
FILE_NAME='102flowers.tgz'
FLOWERS_DIR = os.getcwd() + '/jpg'
def download_images():
downloadedPath = os.getcwd()+ '/'+FILE_NAME
if not os.path.exists(downloadedPath):
download_ulr='http://www.robots.ox.ac.uk/~vgg/data/flowers/102/102flowers.tgz'
urllib.request.urlretrieve(download_ulr,FILE_NAME)
else:
print('dataset already downloaded in : ', downloadedPath)
def extract_tgz_file():
if not os.path.exists(FLOWERS_DIR):
print('extracting files ...')
tar=tarfile.open(FILE_NAME, "r:gz")
tar.extractall()
tar.close()
print('files now extracted in : ', FLOWERS_DIR)
else:
print('extraced file already exists in : ', FLOWERS_DIR)
def make_dataset_ready():
download_images()
extract_tgz_file()
第一种方法要短得多,并且很容易将其分解为训练和测试数据集。第二种方法要长得多,分解为训练和测试数据集必须手动完成。现在让我来回答我的问题:
tfds.load()
函数执行此任务是否有任何缺点李>谢谢你的支持
tfds.load
是tensorflow的一种实用方法,您可以使用它 下载一组预定义的数据集。使用此选项的优点 方法是它返回tf.data.Dataset
中的数据,该数据可以是 直接用于训练模型。它还返回第二个值 类型为tfds.core.DatasetInfo
,其中包含有关 数据集李>urllib.request.urlretrieve
是从url下载数据的python模块。因此,您必须下载托管在url上的数据集,了解其格式并将其转换为格式,以便用于培训模型或进行推理李>tfds.load
下载数据并使用tensorflow数据集训练数据李>tfds.load
命名数据集的一部分使用,则必须下载数据并将其转换为所需格式,一种方法是使用urllib
相关问题 更多 >
编程相关推荐