如何将 Tensorflow 数据集转换为 2D numpy 数组

2024-01-15

我有一个 TensorFlow 数据集,其中包含近 15000 个分辨率为 168*84 的彩色图像,每个图像都有一个标签。它的类型和形状是这样的:

< ConcatenateDataset shapes: ((168, 84, 3), ()), types: (tf.float32, tf.int32)>

我需要用它来训练我的网络。这就是为什么我需要将它作为参数传递给我在其中构建层的函数:

def cnn_model_fn(features, labels, mode):

  input_layer = tf.reshape(features["x"], [-1, 168, 84, 3])
  # Convolutional Layer #1
  conv1 = tf.layers.conv2d(
     inputs=input_layer,
     filters=32,
     kernel_size=[5, 5],
     padding="same",
     activation=tf.nn.relu)
.
.
.

我尝试使用 tf.eval() 和 np.ravel() 将每个张量转换为 np.array(我猜这是上面函数的正确类型)。但我失败了。

那么,如何将此数据集转换为正确的类型以将其传递给函数?

Plus

我对 python 和 TensorFlow 很陌生,如果我们不能直接使用数据集来构建层,我想我不明白为什么会有数据集(顺便说一句,我正在遵循 TensorFlow 网站上的教程)。

Thanks.


您可以尝试急切执行,之前我通过会话运行给出了答案(如下所示)。
在急切执行期间,在张量上使用 .numpy() 会将该张量转换为 numpy 数组。
示例代码(来自我的用例):


    #enable eager execution
    from __future__ import absolute_import, division, print_function, unicode_literals
    import tensorflow as tf
    tf.enable_eager_execution()
    print('Is executing eagerly?',tf.executing_eagerly())      

    #load datasets
    import tensorflow_datasets as tfds
    dataset, metadata = tfds.load('cycle_gan/horse2zebra',
                                  with_info=True, as_supervised=True)
    train_horses, train_zebras = dataset['trainA'], dataset['trainB']

    #load dataset in to numpy array 
    train_A=train_horses.batch(1000).make_one_shot_iterator().get_next()[0].numpy()
    print(train_A.shape)

    #preview one of the images
    import matplotlib.pyplot as plt
    %matplotlib inline
    import numpy as np
    print(train_A.shape)
    plt.imshow(train_A[1])
    plt.show()

旧的,会话运行,答案:

我最近遇到了这个问题,我是这样做的:


    #load datasets
    import tf
    import tensorflow_datasets as tfds
    dataset, metadata = tfds.load('cycle_gan/horse2zebra',
                                  with_info=True, as_supervised=True)
    train_horses, train_zebras = dataset['trainA'], dataset['trainB']

    #load dataset in to numpy array
    sess = tf.compat.v1.Session()
    tra=train_horses.batch(1000).make_one_shot_iterator().get_next()
    train_A=np.array(sess.run(tra)[0])
    print(train_A.shape)
    sess.close()

    #preview one of the images
    import matplotlib.pyplot as plt
    %matplotlib inline
    import numpy as np
    print(train_A.shape)
    plt.imshow(train_A[1])
    plt.show()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Tensorflow 数据集转换为 2D numpy 数组 的相关文章

随机推荐

  • NHibernate 3.2 Linq 与相关子查询

    任何人都可以帮助尝试在 Linq to NHibernate 3 2 中执行以下 SQL 吗 select act Name from Activity act where 1 select top 1 p Allow from Permi
  • Android:注入假相机预览以进行测试

    我正在编写一些在物理 Android 设备上运行的黑盒验收测试 被测应用程序 AUT 依赖于相机的预览 具体来说 它使用setOneShotPreviewCallback的方法android hardware Camera班级 我正在寻找一
  • 如何使用 dart/flutter 中的共享首选项保存和获取列表列表

    我一直在尝试使用 dart 中的共享首选项保存列表列表 例如 我有一个列表List data dave 21 M steven 22 F 我试图按原样保存和加载 但应用程序不断抛出异常Unhandled Exception type Lis
  • Kotlin - 使用 Array 或 DoubleArray

    这两者的主要区别是什么 val array Array
  • SSRS - OutOfMemoryException - 可以显示的行数是否有限制

    我创建了一个 rdl 文档 它指向一个返回 90 000 行的过程 但我遇到了内存不足的异常 报表项目可以处理的行数是否有限制 目前 我已经更改了驱动我的报告的过程 只选择前 90 000 行 我的规格是能够创建包含 120 000 行的报
  • 在Python底图中绘制曲线

    我想在底图地图上绘制曲线 弧线 我可以使用 map plot x y 绘制一条直线 但如何使其弯曲 有箭头 在 matplotlib 中 可以使用 annotate 来完成此操作 但 Basemap 没有此方法 有任何想法吗 这是一个非常古
  • 如何根据模型 JavaScript 数组属性正确显示 Backbone marionette 集合视图?

    UPDATE 请参阅下面最后一个代码块中的最终答案代码 Marionette 的 CollectionView 需要一个有效的 Backbone Collection 而不是一个简单的数组 将数组传递给视图时 您需要从数组创建一个 Back
  • Grails geb 从命令行获取参数

    我正在 grails 中使用 geb 编写 ui 测试 我想使用 Maven 从命令行开始测试 这很好用 我的命令 mvn Dtest CheckMenuLinks 测试 现在我想从命令行传递一些参数进行测试 这可能吗 我找到了解决方案 我
  • VS2008可以调试COM dll吗?

    这可能是一个非常愚蠢的问题 是否可以在 VS2008 中调试我没有源代码的 COM dll 我想要这样做的原因是我将一个数组传递给 COM 方法 并且我希望该数组由该方法填充 然而 该数组并未被填充 所以我想进入 COM 方法看看发生了什么
  • async/await 函数的返回值

    我对这个 async await 的工作原理有点困惑 我有一些像这样的功能 async getDataFromDB let response await fetch let data await response json return d
  • 在每个环境的 Symfony 中禁用 swiftmailer 假脱机

    我无法通过控制台命令使用 symfony2 发送批量电子邮件 我想禁用控制台正在运行的环境的邮件假脱机完成 但保持它在默认环境中工作 所以我在 config yml 中有这个 swiftmailer transport mailer tra
  • ModuleNotFoundError:安装频道后没有名为“win32api”的模块

    我正在使用 WebSockets 和 django 通道构建一个聊天应用程序 我运行 pip installchannels 它安装成功 然后我安装 asgi redis 这也被安装了 现在 当我尝试导入channels asgi时 它给了
  • Ruby 上的 difflib [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有类似Python的库difflib http docs python org library difflib html关于鲁比 特别
  • FBSDKSharing回调不返回结果

    在我的 iOS 应用程序中 我有一个 Facebook 共享按钮 它会打开一个 FBSDKShareDialog IBAction post id sender FBSDKShareLinkContent content FBSDKShar
  • 是否已准备好并推荐在 Xcode 4.2 生产中使用故事板? (参见以前的 XIB 方法)

    是否已准备好并推荐在 Xcode 4 2 生产中使用故事板 也就是说 使用过 Storyboard 的 iPhone iPad 开发人员会建议 对于本机 iPhone iPad 应用程序 一定要使用 Storyboard 吗 或者这个概念仍
  • 覆盖内置函数[重复]

    这个问题在这里已经有答案了 我有一大块使用 print 语句的代码 可以这么说 print foo and not print foo 我想改变输出 我可以在不更改所有打印行的情况下执行此操作吗 例如通过覆盖函数 语句 Python dir
  • .nil? 和 .blank? 之间的区别和.空? [复制]

    这个问题在这里已经有答案了 可能的重复 Ruby on Rails 中 nil v empty v blank 的简明解释 https stackoverflow com questions 885414 a concise explana
  • OpenCV 中 Android Yuv420sp 转 ARGB

    我正在尝试将预览回调中的原始图像从手机发送到 PC 然后电脑将处理该图像 我使用 OpenCV 库来进行图像处理 目前我只是在 PreviewCallback 中编写一个函数来将字节数组保存到文件中 并将文件复制到电脑 我编写了一个简单的程
  • WordPress 3.0 自定义帖子类型与上传

    有没有一种方法可以在自定义帖子类型编辑页面上插入一个 或多个 上传字段 我不想使用包含所有字段和内容的媒体库 这是一个相当基本的示例 但它应该可以帮助您上路 function my upload field echo
  • 如何将 Tensorflow 数据集转换为 2D numpy 数组

    我有一个 TensorFlow 数据集 其中包含近 15000 个分辨率为 168 84 的彩色图像 每个图像都有一个标签 它的类型和形状是这样的 lt ConcatenateDataset shapes 168 84 3 types tf