code: def test_set_dropout_rate_attribute():
      from cntk import dropout, input
      from math import pi
  
      dropout_node = dropout(input(1), dropout_rate=0.3)
      key = "dropoutRate"
  
      root = dropout_node.root_function
      assert np.isclose(root.attributes[key], 0.3)
  
      root.set_attribute(key, 0.4)
      assert np.isclose(root.attributes[key], 0.4)
  
      dropout_node.set_attribute(key, 0.777)
      assert np.isclose(root.attributes[key], 0.777)
  
      dropout_node.set_attribute(key, pi)
      assert np.isclose(root.attributes[key], pi)
  
imports: import numpy
  import os
  import pytest
  import cntk
  from .ops_test_utils import compare_lists_of_np_arrays, AA, cntk_device
  from cntk.io import MinibatchSource, CTFDeserializer, StreamDefs, StreamDef
label_desc: Use image node_id 27 for calling a global function with example usage: test_set_dropout_rate_attribute() without return types