MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / TestGraphValidateGradientsNames

Function TestGraphValidateGradientsNames

tensorflow/go/graph_test.go:288–340  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

286}
287
288func TestGraphValidateGradientsNames(t *testing.T) {
289 g := NewGraph()
290 x, err := Placeholder(g, "x", Float)
291 if err != nil {
292 t.Fatal(err)
293 }
294 op0, err := g.AddOperation(OpSpec{
295 Type: "Square",
296 Name: "y0",
297 Input: []Input{x},
298 })
299 if err != nil {
300 t.Fatal(err)
301 }
302 y0 := op0.Output(0)
303
304 grads0, err := g.AddGradients("", []Output{y0}, []Output{x}, nil)
305 if err != nil {
306 t.Fatal(err)
307 }
308 if !strings.HasPrefix(grads0[0].Op.Name(), "gradients/") {
309 t.Fatalf("Got name %v, wanted started with gradients/", grads0[0].Op.Name())
310 }
311
312 grads1, err := g.AddGradients("", []Output{y0}, []Output{x}, nil)
313 if err != nil {
314 t.Fatal(err)
315 }
316 if !strings.HasPrefix(grads1[0].Op.Name(), "gradients_1/") {
317 t.Fatalf("Got name %v, wanted started with gradients_1/", grads1[0].Op.Name())
318 }
319
320 grads2, err := g.AddGradients("more_gradients", []Output{y0}, []Output{x}, nil)
321 if err != nil {
322 t.Fatal(err)
323 }
324 if !strings.HasPrefix(grads2[0].Op.Name(), "more_gradients/") {
325 t.Fatalf("Got name %v, wanted started with more_gradients/", grads2[0].Op.Name())
326 }
327
328 grads3, err := g.AddGradients("even_more_gradients", []Output{y0}, []Output{x}, nil)
329 if err != nil {
330 t.Fatal(err)
331 }
332 if !strings.HasPrefix(grads3[0].Op.Name(), "even_more_gradients/") {
333 t.Fatalf("Got name %v, wanted started with even_more_gradients/", grads3[0].Op.Name())
334 }
335
336 _, err = g.AddGradients("even_more_gradients", []Output{y0}, []Output{x}, nil)
337 if err == nil {
338 t.Error("AddGradients should have failed if gradients name is already existing")
339 }
340}

Callers

nothing calls this directly

Calls 7

AddOperationMethod · 0.95
AddGradientsMethod · 0.95
NewGraphFunction · 0.85
PlaceholderFunction · 0.70
OutputMethod · 0.45
NameMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected