@@ -114,6 +114,9 @@ pixelshuffle = [PixelShuffle]
114
114
gpu_gradtest (" PixelShuffle 2d" , pixelshuffle, rand (Float32, 3 , 4 , 18 , 3 ), 3 )
115
115
gpu_gradtest (" PixelShuffle 1d" , pixelshuffle, rand (Float32, 3 , 18 , 3 ), 3 )
116
116
117
+ embedding = [Embedding]
118
+ gpu_gradtest (" Embedding" , embedding, rand (1 : 10 , 3 ), 10 , 4 )
119
+
117
120
@testset " function layers" begin
118
121
x = rand (Float32, 3 ,3 )
119
122
gpu_autodiff_test (x -> sum (Flux. normalise (x; dims= 1 )), x)
@@ -258,18 +261,19 @@ end
258
261
@test gs_cpu[pcpu] ≈ gs_gpu[pgpu]
259
262
end
260
263
end
264
+ end
261
265
262
- @testset " Embedding" begin
263
- vocab_size, embed_size = 10 , 4
264
- m = Embedding (vocab_size, embed_size)
265
- x = rand (1 : vocab_size, 3 )
266
- y = m (x)
267
- m_g = m |> gpu
268
- x_g = x |> gpu
269
- y_g = m_g (x_g)
270
- @test collect (y_g) == y
271
- gs = gradient (() -> sum (tanh .(m (x))), params (m))
272
- gs_g = gradient (() -> sum (tanh .(m_g (x_g))), params (m_g))
273
- @test collect (gs_g[m_g. weight]) ≈ gs[m. weight]
274
- end
266
+ @testset " Embedding" begin
267
+ vocab_size, embed_size = 10 , 4
268
+ m = Embedding (vocab_size, embed_size)
269
+ x = rand (1 : vocab_size, 3 )
270
+ y = m (x)
271
+ m_g = m |> gpu
272
+ x_g = x |> gpu
273
+ y_g = m_g (x_g)
274
+ @test collect (y_g) == y
275
+ gs = gradient (() -> sum (tanh .(m (x))), params (m))
276
+ gs_g = gradient (() -> sum (tanh .(m_g (x_g))), params (m_g))
277
+ @test collect (gs_g[m_g. weight]) ≈ gs[m. weight]
275
278
end
279
+
0 commit comments