es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo convertir de tensor a flotante.

Tengo una lista de tensores que quiero convertir a puntos flotantes, ¿cómo puedo hacerlo? He intentado usar .item pero no funciona. Me sale ValueError: only one element tensors can be converted to Python scalars.


tensor([[12.1834, 4.9616, 7.7913],
[ 8.9394, 8.5784, 9.3691],
[ 9.4475, 8.9766, 9.8418],
[11.8210, 6.0852, 8.2168],
[ 8.2885, 6.2607, 9.8877]], grad_fn=<CloneBackward0>)

enter image description here

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para convertir una lista de tensores en puntos flotantes, puede utilizar el método .tolist(), que convierte los tensores en listas y luego utilizar una comprensión de listas para convertir cada elemento de la lista a un flotante.

    Aquí hay un ejemplo:

    tensor_list = [tensor([[12.1834,  4.9616,  7.7913],
                           [ 8.9394,  8.5784,  9.3691],
                           [ 9.4475,  8.9766,  9.8418],
                           [11.8210,  6.0852,  8.2168],
                           [ 8.2885,  6.2607,  9.8877]],
                          grad_fn=<clonebackward0>) for tensor in tensor_list]
    
    float_list = [[float(num) for num in tensor_row] for tensor_row in tensor_list]
    

    Esto convertirá la lista inicial de tensores en una lista de listas de números en punto flotante.

    Nota: el método .item() solo funciona para tensores con un solo elemento (es decir, un valor escalar) y no para tensores con múltiples elementos.

Comments are closed.