@@ -87,6 +87,8 @@ pixelshuffle = [PixelShuffle]
87
87
gpu_gradtest (" PixelShuffle 2d" , pixelshuffle, rand (Float32, 3 , 4 , 18 , 3 ), 3 )
88
88
gpu_gradtest (" PixelShuffle 1d" , pixelshuffle, rand (Float32, 3 , 18 , 3 ), 3 )
89
89
90
+ embedding = [Embedding]
91
+ gpu_gradtest (" Embedding" , embedding, rand (1 : 10 , 3 ), 10 , 4 )
90
92
91
93
@testset " function layers" begin
92
94
x = rand (Float32, 3 ,3 )
@@ -218,18 +220,19 @@ end
218
220
@test gs_cpu[pcpu] ≈ gs_gpu[pgpu]
219
221
end
220
222
end
223
+ end
221
224
222
- @testset " Embedding" begin
223
- vocab_size, embed_size = 10 , 4
224
- m = Embedding (vocab_size, embed_size)
225
- x = rand (1 : vocab_size, 3 )
226
- y = m (x)
227
- m_g = m |> gpu
228
- x_g = x |> gpu
229
- y_g = m_g (x_g)
230
- @test collect (y_g) == y
231
- gs = gradient (() -> sum (tanh .(m (x))), params (m))
232
- gs_g = gradient (() -> sum (tanh .(m_g (x_g))), params (m_g))
233
- @test collect (gs_g[m_g. weight]) ≈ gs[m. weight]
234
- end
225
+ @testset " Embedding" begin
226
+ vocab_size, embed_size = 10 , 4
227
+ m = Embedding (vocab_size, embed_size)
228
+ x = rand (1 : vocab_size, 3 )
229
+ y = m (x)
230
+ m_g = m |> gpu
231
+ x_g = x |> gpu
232
+ y_g = m_g (x_g)
233
+ @test collect (y_g) == y
234
+ gs = gradient (() -> sum (tanh .(m (x))), params (m))
235
+ gs_g = gradient (() -> sum (tanh .(m_g (x_g))), params (m_g))
236
+ @test collect (gs_g[m_g. weight]) ≈ gs[m. weight]
235
237
end
238
+
0 commit comments