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 0en gefüllt ist. .reshape(-1)en) Sie den Würfel und prüfen Sie in welcher Frequenz sich die 1en 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.