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

例如,我有这个张量:


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 值并将其写入不同的变量,这怎么可能?


www说
浏览 133回答 3
3回答

largeQ

import tensorflow as tfa = 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)

慕村225694

假设t是你的张量对象。ax1 = t.shape[1]for i in range(ax1):    vals = t[:,i]    # do stuff

白衣非少年

用于tf.split()获取张量列表(每行一个):boxes = tf.constant([[ 138.7087,&nbsp; 670.4597,&nbsp; 194.0305,&nbsp; 788.7614],&nbsp; &nbsp; [1744.7915,&nbsp; 597.5836, 1790.3419,&nbsp; 709.9775],&nbsp; &nbsp; [ 384.6486,&nbsp; 526.4615,&nbsp; 428.3247,&nbsp; 622.8542],&nbsp; &nbsp; [1396.4264,&nbsp; 562.2295, 1444.1472,&nbsp; 653.7578],&nbsp; &nbsp; [1135.2161,&nbsp; 504.2900, 1169.5103,&nbsp; 608.7569],&nbsp; &nbsp; [1035.7961,&nbsp; 771.2336, 1100.9679,&nbsp; 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)>,&nbsp;<tf.Tensor: shape=(1, 4), dtype=float32, numpy=array([[1744.7915,&nbsp; 597.5836, 1790.3419,&nbsp; 709.9775]], dtype=float32)>,&nbsp;<tf.Tensor: shape=(1, 4), dtype=float32, numpy=array([[384.6486, 526.4615, 428.3247, 622.8542]], dtype=float32)>,&nbsp;<tf.Tensor: shape=(1, 4), dtype=float32, numpy=array([[1396.4264,&nbsp; 562.2295, 1444.1472,&nbsp; 653.7578]], dtype=float32)>,&nbsp;<tf.Tensor: shape=(1, 4), dtype=float32, numpy=array([[1135.2161,&nbsp; 504.29&nbsp; , 1169.5103,&nbsp; 608.7569]], dtype=float32)>,&nbsp;<tf.Tensor: shape=(1, 4), dtype=float32, numpy=array([[1035.7961,&nbsp; 771.2336, 1100.9679,&nbsp; 919.1385]], dtype=float32)>]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python