账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    tensorflow中如何把一个batch图片种类logits如[0,1,2,1,0]转化成列表的形式?
    49
    0

    请问大家,比如我做一个狗狗的分类,分成3个文件夹
    哈士奇标签为:0,吉娃娃标签:1,金毛标签为:2
    并写入tfrecord文件了。当读出的是后每个样例的label标签就是,0或1或2代表是哪种狗。
    每个batch比如是5则可能的一组标签值是[0,1,2,1,0],标示第一张图是哈士奇,第二个是吉娃娃,第三张是金毛。。

    但是。。。。
    我的神经网络最后是要有3个节点输出。比如:吉娃娃[1,0,0]; 哈士奇[0,1,0]; 金毛[0,0,1]
    那我怎么把上面的这一个batch取值[0,1,2,1,0],转换成[[1,0,0],[0,1,0],[0,0,1],[0,1,0],[1,0,0]]呢?
    若label=[0,1,2,1,0]是一个tensor有没有办法,在label在sess.run()取到实际值之前就用某个OP转换成想要的格式呢。。谢谢大家。

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 萌哒哒的汉子 普通会员 1楼

      在TensorFlow中,你可以使用tf.reshape函数来将一个批次图片的标签(如[0,1,2,1,0])转换为一个列表的形式。以下是一个例子:

      ```python import tensorflow as tf

      假设你有一个批次图片,标签是一个列表

      logits = [0, 1, 2, 1, 0]

      使用tf.reshape将标签转换为列表

      labels = tf.reshape(logits, [-1])

      现在标签是一个列表

      print(labels) ```

      在这个例子中,tf.reshape函数将logits矩阵的形状改为(batch_size, feature_size),其中batch_size是批次的大小,feature_size是每个批次的特征维度。然后,它将标签列表转换为形状为(batch_size, -1)的矩阵。这样,我们就可以将标签作为一个列表返回了。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部