lima-city: Webhosting, Domains und Cloud
1 Pluspunkt 0 Minuspunkte

Ich habe ein 2 dimensionales Array mit verschiedenen unbekannten Längen

[[1,2,3,4,5], 
 [1,2,3,4], 
 [1,2,3,4,5,6], 
 [1,2,3,4]]

und möchte daraus einen Tensor erstellen. Wie mache ich das mit Torch?

von  

1 Antwort

1 Pluspunkt 0 Minuspunkte

Zuerst bestimmst du die maximale Länge aller Listen und dann fügst du für jeder Liste entsprechend viele Nullen (oder was du möchtest) am Ende hinzu, um ihre Länge an die maximale Länge anzupassen. Das konvertierst du in ein NumPy Array und dann in einen Tensor.

import torch
import numpy as np

# Deine Liste von Listen mit unterschiedlichen Längen
data_list = [
    [1, 2, 3, 4, 5],
    [1, 2, 3, 4],
    [1, 2, 3, 4, 5, 6],
    [1, 2, 3, 4]
]

# Bestimme die maximale Länge unter den Unterlisten
max_length = max(len(sublist) for sublist in data_list)

# Fülle fehlende Werte mit Nullen auf und erstelle eine neue Liste von Listen
filled_data_list = [sublist + [0] * (max_length - len(sublist)) for sublist in data_list]

# Konvertiere die Liste von Listen in ein NumPy-Array
numpy_array = np.array(filled_data_list)

# Konvertiere das NumPy-Array in einen PyTorch-Tensor
tensor = torch.tensor(numpy_array)

print(tensor)
von (493 Punkte)  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Fragen und Antworten bewerten
  • Themen von Fragen bearbeiten
  • Fragen, Antworten und Kommentare bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft.

2.3k Fragen

2.8k Antworten

261 Kommentare

13 Nutzer