-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathtest.py
74 lines (48 loc) · 975 Bytes
/
test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import mmopt
import sys
print("========== tensorND to numpy (zero-copy) =============== ")
a = mmopt.tensorND([2,3,4], False)
print(a)
# view
m = memoryview(a)
print(m.shape)
print(m.strides)
print(m.format)
m[0,0,0] = 0
print(m.obj)
# import into numpy (zero-copy)
import numpy
arr = numpy.array(a, copy=False)
print(arr.shape)
print(arr.strides)
arr[0,0,:] = 1
arr[:,0,0] = 2
print(arr)
print(a)
del a
print(m[0,0,0])
del m
arr[0,0,:] = 2
print(arr)
del arr
print("========== numpy to tensorND (zero-copy) =============== ")
n0 = numpy.ones([3,3], dtype=numpy.float32)
a = mmopt.tensorND(n0)
print(a)
n0[2,2] = 2
print(a)
print("========== return tensorND =============== ")
a = mmopt.g()
print(a)
# wrap it as numpy array
arr = numpy.array(a, copy=False)
arr[0,:] = 99
print(a)
# mmopt.h(mmopt.tensorND(arr), 0.23)
mmopt.h(a, 0.23)
print(a)
del a
print("========== return tensorND =============== ")
arr = mmopt.g2()
print(arr)
print("finished")