-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtensorarray3d.java
104 lines (101 loc) · 1.72 KB
/
tensorarray3d.java
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package tensordef;
import basicops.*;
import java.util.Random;
public class tensorarray3d
{
public tensor arr[][][];
public int dim1;
public int dim2;
public int dim3;
boolean trainable;
public tensorarray3d(int dim1,int dim2,int dim3,boolean trainable)
{
this.dim1=dim1;
this.dim2=dim2;
this.dim3=dim3;
this.trainable=trainable;
arr=new tensor[dim1][dim2][dim3];
randominitialize();
}
public void randominitialize()
{
Random rand = new Random();
for (int i=0;i<dim1;i++)
{
for (int j=0;j<dim2;j++)
{
for(int k=0;k<dim3;k++)
{
arr[i][j][k]=new tensor(rand.nextDouble(),trainable);
//System.out.println(arr[i][j].data);
}
}
}
}
public void ones()
{
for (int i=0;i<dim1;i++)
{
for (int j=0;j<dim2;j++)
{
for(int k=0;k<dim3;k++)
arr[i][j][k].data=1;
//System.out.println(arr[i][j].data);
}
}
}
public void print()
{
for(int i=0;i<dim1;i++)
{
for(int j=0;j<dim2;j++)
{
for(int k=0;k<dim3;k++)
{
System.out.println(arr[i][j][k].data);
}
}
}
System.out.println("------------");
}
public void zeros()
{
for(int i=0;i<dim1;i++)
{
for(int j=0;j<dim2;j++)
{
for(int k=0;k<dim3;k++)
{
arr[i][j][k].data=0;
}
}
}
}
public void assign(double customdata[][][])
{
for(int i=0;i<dim1;i++)
{
for(int j=0;j<dim2;j++)
{
for(int k=0;k<dim3;k++)
arr[i][j][k].data=customdata[i][j][k];
}
}
}
public void assigntensorarray(tensorarray3d t)
{
for(int i=0;i<dim1;i++)
{
for(int j=0;j<dim2;j++)
{
for(int k=0;k<dim3;k++)
arr[i][j][k].data=t.arr[i][j][k].data;
}
}
}
public void assigntensor(tensor t,int i,int j,int k)
{
arr[i][j][k]=null;
arr[i][j][k]=t;
}
}