Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tensorflow.load vs下载URL_Python_Tensorflow_Tensorflow Datasets_Tensorflow2.x - Fatal编程技术网

Python tensorflow.load vs下载URL

Python tensorflow.load vs下载URL,python,tensorflow,tensorflow-datasets,tensorflow2.x,Python,Tensorflow,Tensorflow Datasets,Tensorflow2.x,我是TensorFlow 2的初学者,我正在使用TensorFlow的2.3.1版 我想基于Inception v3构建一个图像分类器。在使用Inception网络中的数据之前,我必须首先准备好数据。对于此任务,我将使用“oxford_flower102”数据集。我找到了两种获取数据集的方法,但我不知道在哪种情况下应该使用哪种方法 通过使用tfds.load 通过下载带有URL的数据集 第一种方法要短得多,并且很容易将其分解为训练和测试数据集。第二种方法要长得多,分解为训练和测试数据集必须手动完

我是TensorFlow 2的初学者,我正在使用TensorFlow的2.3.1版

我想基于Inception v3构建一个图像分类器。在使用Inception网络中的数据之前,我必须首先准备好数据。对于此任务,我将使用“oxford_flower102”数据集。我找到了两种获取数据集的方法,但我不知道在哪种情况下应该使用哪种方法

  • 通过使用tfds.load
  • 通过下载带有URL的数据集
  • 第一种方法要短得多,并且很容易将其分解为训练和测试数据集。第二种方法要长得多,分解为训练和测试数据集必须手动完成。现在让我来回答我的问题:

  • 第二种方法的好处是什么,通过URL下载,然后手动将数据集拆分为培训和测试数据集
  • 我的目标是稍后将数据集提供给inception v3,使用
    tfds.load()
    函数执行此任务是否有任何缺点
  • 谢谢你的支持

    • tfds.load
      是tensorflow的一种实用方法,您可以使用它 下载一组预定义的数据集。使用此选项的优点 方法是,它返回
      tf.data.Dataset
      中的数据,可以 直接用于训练模型。它还返回第二个值 类型为
      tfds.core.DatasetInfo
      ,其中包含有关 数据集
    • urllib.request.urlretrieve
      是从url下载数据的python模块。因此,您必须下载托管在url上的数据集,了解其格式并将其转换为格式,以便用于培训模型或进行推理
    • 如果您的目的是在tensorflow中训练初始模型,那么它的意义是充分利用
      tfds.load
      下载数据并使用tensorflow数据集训练数据
    • 但是,如果您的数据集不能作为
      tfds.load
      命名数据集的一部分使用,则必须下载数据并将其转换为所需格式,一种方法是使用
      urllib
    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()