|
34 | 34 | ) |> gpu |
35 | 35 |
|
36 | 36 | @test t isa CircularArraySARTSATraces |
| 37 | + @test ReinforcementLearningTrajectories.capacity(t) == 3 |
| 38 | + @test CircularArrayBuffers.capacity(t) == 3 |
37 | 39 |
|
38 | | - push!(t, (state=ones(Float32, 2, 3),)) |
| 40 | + push!(t, (state=ones(Float32, 2, 3),) |> gpu) |
39 | 41 | push!(t, (action=ones(Float32, 2), next_state=ones(Float32, 2, 3) * 2) |> gpu) |
40 | 42 | @test length(t) == 0 |
41 | 43 |
|
42 | 44 | push!(t, (reward=1.0f0, terminal=false) |> gpu) |
43 | 45 | @test length(t) == 0 # next_action is still missing |
44 | 46 |
|
45 | | - push!(t, (state=ones(Float32, 2, 3) * 3, action=ones(Float32, 2) * 2) |> gpu) |
| 47 | + push!(t, (action=ones(Float32, 2) * 2,) |> gpu) |
| 48 | + @test length(t) == 1 |
| 49 | + |
| 50 | + push!(t, (state=ones(Float32, 2, 3) * 3,) |> gpu) |
46 | 51 | @test length(t) == 1 |
47 | 52 |
|
48 | 53 | # this will trigger the scalar indexing of CuArray |
|
71 | 76 |
|
72 | 77 | @test length(t) == 3 |
73 | 78 |
|
| 79 | + push!(t, (action=ones(Float32, 2) * 6,) |> gpu) |
| 80 | + @test length(t) == 3 |
| 81 | + |
74 | 82 | # this will trigger the scalar indexing of CuArray |
75 | 83 | CUDA.@allowscalar @test t[1] == ( |
76 | | - state=ones(Float32, 2, 3) * 2, |
77 | | - next_state=ones(Float32, 2, 3) * 3, |
78 | | - action=ones(Float32, 2) * 2, |
79 | | - next_action=ones(Float32, 2) * 3, |
80 | | - reward=2.0f0, |
| 84 | + state=ones(Float32, 2, 3) * 3, |
| 85 | + next_state=ones(Float32, 2, 3) * 4, |
| 86 | + action=ones(Float32, 2) * 3, |
| 87 | + next_action=ones(Float32, 2) * 4, |
| 88 | + reward=3.0f0, |
81 | 89 | terminal=false, |
82 | 90 | ) |
83 | 91 | CUDA.@allowscalar @test t[end] == ( |
84 | | - state=ones(Float32, 2, 3) * 4, |
85 | | - next_state=ones(Float32, 2, 3) * 5, |
86 | | - action=ones(Float32, 2) * 4, |
87 | | - next_action=ones(Float32, 2) * 5, |
88 | | - reward=4.0f0, |
| 92 | + state=ones(Float32, 2, 3) * 5, |
| 93 | + next_state=ones(Float32, 2, 3) * 6, |
| 94 | + action=ones(Float32, 2) * 5, |
| 95 | + next_action=ones(Float32, 2) * 6, |
| 96 | + reward=5.0f0, |
89 | 97 | terminal=false, |
90 | 98 | ) |
91 | 99 |
|
92 | 100 | batch = t[1:3] |
93 | 101 | @test size(batch.state) == (2, 3, 3) |
94 | 102 | @test size(batch.action) == (2, 3) |
95 | | - @test batch.reward == [2.0, 3.0, 4.0] |> gpu |
| 103 | + @test batch.reward == [3.0, 4.0, 5.0] |> gpu |
96 | 104 | @test batch.terminal == Bool[0, 0, 0] |> gpu |
| 105 | + |
97 | 106 | end |
98 | 107 |
|
99 | 108 | @testset "ElasticArraySARTSTraces" begin |
|
127 | 136 | ) |
128 | 137 |
|
129 | 138 | @test t isa CircularArraySLARTTraces |
| 139 | + @test ReinforcementLearningTrajectories.capacity(t) == 3 |
| 140 | + @test CircularArrayBuffers.capacity(t) == 3 |
130 | 141 | end |
131 | 142 |
|
132 | 143 | @testset "CircularPrioritizedTraces-SARTS" begin |
|
136 | 147 | ), |
137 | 148 | default_priority=1.0f0 |
138 | 149 | ) |
| 150 | + @test ReinforcementLearningTrajectories.capacity(t) == 3 |
139 | 151 |
|
140 | 152 | push!(t, (state=0, action=0)) |
141 | 153 |
|
|
196 | 208 | ), |
197 | 209 | default_priority=1.0f0 |
198 | 210 | ) |
| 211 | + @test ReinforcementLearningTrajectories.capacity(t) == 3 |
199 | 212 |
|
200 | 213 | push!(t, (state=0, action=0)) |
201 | 214 |
|
|
0 commit comments