为了账号安全,请及时绑定邮箱和手机立即绑定

我怎样才能通过张量并获得我想要的位置的值?

我怎样才能通过张量并获得我想要的位置的值?

www说 2024-01-27 16:11:00
例如,我有这个张量:Boxes(tensor([[ 138.7087,  670.4597,  194.0305,  788.7614],    [1744.7915,  597.5836, 1790.3419,  709.9775],    [ 384.6486,  526.4615,  428.3247,  622.8542],    [1396.4264,  562.2295, 1444.1472,  653.7578],    [1135.2161,  504.2900, 1169.5103,  608.7569],    [1035.7961,  771.2336, 1100.9679,  919.1385],    [ 696.5236,  419.2245,  738.7255,  503.7422],    [  63.7905,  362.0703,   93.2846,  439.7708],    [ 834.4216,  591.6379,  880.6455,  690.0402],    [1003.2484,  612.4662, 1055.1136,  704.1541],    [ 852.7735,  330.7743,  879.5329,  396.9597],    [ 840.9529,  526.4127,  871.9255,  594.8165],    [ 798.7436,  520.0127,  834.4247,  601.9252],    [1539.8649,  600.5634, 1576.6362,  679.7695],    [ 151.1197,  366.5715,  186.4236,  434.6742],    [ 152.5436,  322.7310,  196.8471,  429.3589],    [ 164.2602,  322.5941,  195.3645,  386.3824]], device='cuda:0'))我想获取每行的所有 for 值并将其写入不同的变量,这怎么可能?
查看完整描述

3 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

import tensorflow as tf


a = tf.convert_to_tensor([

    [ 138.7087,  670.4597,  194.0305,  788.7614],

    [1744.7915,  597.5836, 1790.3419,  709.9775],

    [ 384.6486,  526.4615,  428.3247,  622.8542],

    ...

    [ 152.5436,  322.7310,  196.8471,  429.3589],

    [ 164.2602,  322.5941,  195.3645,  386.3824]

])


b = tf.unstack(a, axis=0)


查看完整回答
反对 回复 2024-01-27
?
慕村225694

TA贡献1880条经验 获得超4个赞

假设t是你的张量对象。


ax1 = t.shape[1]


for i in range(ax1):

    vals = t[:,i]

    # do stuff


查看完整回答
反对 回复 2024-01-27
?
白衣非少年

TA贡献1155条经验 获得超0个赞

用于tf.split()获取张量列表(每行一个):


boxes = tf.constant([[ 138.7087,  670.4597,  194.0305,  788.7614],

    [1744.7915,  597.5836, 1790.3419,  709.9775],

    [ 384.6486,  526.4615,  428.3247,  622.8542],

    [1396.4264,  562.2295, 1444.1472,  653.7578],

    [1135.2161,  504.2900, 1169.5103,  608.7569],

    [1035.7961,  771.2336, 1100.9679,  919.1385]],)


tf.split(boxes, num_or_size_splits=boxes.shape[0], axis = 0)


[<tf.Tensor: shape=(1, 4), dtype=float32, numpy=array([[138.7087, 670.4597, 194.0305, 788.7614]], dtype=float32)>,

 <tf.Tensor: shape=(1, 4), dtype=float32, numpy=array([[1744.7915,  597.5836, 1790.3419,  709.9775]], dtype=float32)>,

 <tf.Tensor: shape=(1, 4), dtype=float32, numpy=array([[384.6486, 526.4615, 428.3247, 622.8542]], dtype=float32)>,

 <tf.Tensor: shape=(1, 4), dtype=float32, numpy=array([[1396.4264,  562.2295, 1444.1472,  653.7578]], dtype=float32)>,

 <tf.Tensor: shape=(1, 4), dtype=float32, numpy=array([[1135.2161,  504.29  , 1169.5103,  608.7569]], dtype=float32)>,

 <tf.Tensor: shape=(1, 4), dtype=float32, numpy=array([[1035.7961,  771.2336, 1100.9679,  919.1385]], dtype=float32)>]



查看完整回答
反对 回复 2024-01-27
  • 3 回答
  • 0 关注
  • 113 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信