Das Ziel ist es sich hier mit vektorisierter Rechnung auseinanderzusetzen, also in keiner der Aufgaben Python-for
Schleifen zu benutzen!
1'000'000
Quadratzahlen.0
und 1
und sortieren Sie diesen.tensor([[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
[ 2, 4, 6, 8, 10, 12, 14, 16, 18, 20],
[ 3, 6, 9, 12, 15, 18, 21, 24, 27, 30],
[ 4, 8, 12, 16, 20, 24, 28, 32, 36, 40],
[ 5, 10, 15, 20, 25, 30, 35, 40, 45, 50],
[ 6, 12, 18, 24, 30, 36, 42, 48, 54, 60],
[ 7, 14, 21, 28, 35, 42, 49, 56, 63, 70],
[ 8, 16, 24, 32, 40, 48, 56, 64, 72, 80],
[ 9, 18, 27, 36, 45, 54, 63, 72, 81, 90],
[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]])
torch.stack
oder reshaping und modulo-Operator. Beispiel: > chess(9)
tensor([[1, 0, 1, 0, 1, 0, 1, 0, 1],
[0, 1, 0, 1, 0, 1, 0, 1, 0],
[1, 0, 1, 0, 1, 0, 1, 0, 1],
[0, 1, 0, 1, 0, 1, 0, 1, 0],
[1, 0, 1, 0, 1, 0, 1, 0, 1],
[0, 1, 0, 1, 0, 1, 0, 1, 0],
[1, 0, 1, 0, 1, 0, 1, 0, 1],
[0, 1, 0, 1, 0, 1, 0, 1, 0],
[1, 0, 1, 0, 1, 0, 1, 0, 1]], dtype=torch.int32)
3
und Dimension n
erstellt, bei dem jeweils überall eine 1
steht, außer im Zentrum, dort soll eine 0
stehen. 3
und Dimension n
erstellt, bei dem jeweils eine 1
auf jeder Ecke steht, ansonsten aber nur mit 0
en gefüllt ist. .reshape(-1)
en) Sie den Würfel und prüfen Sie in welcher Frequenz sich die 1
en befinden.import matplotlib.pyplot as plt
import torch
# diese Zeile müssen Sie natürlich gegen das Ergebnis der oberen Formel ersetzen.
data = torch.randn((100,100))
plt.pcolormesh(data, cmap="viridis", linewidth=0, shading='flat')
plt.plot()
plt.show()
Aufgaben:
torch.rand
würfelt die eine zufällige Zahl zwischen 0 und 1. Hinweis: Verwenden Sie die <
oder >
- Operation auf einem Zufallstensor und nutzen Sie torch.where
, um eine 1
oder eine 0
auszugeben.torch.histogram
, es gibt hier aber auch andere Möglichkeiten.