code: func NewDropout(dropout float64) (retVal *Dropout, err error) {
  	var internal C.cudnnDropoutDescriptor_t
  	if err := result(C.cudnnCreateDropoutDescriptor(&internal)); err != nil {
  		return nil, err
  	}
  	retVal = &Dropout{
  		internal: internal,
  		dropout:  float32(dropout),
  	}
  	runtime.SetFinalizer(retVal, destroyDropout)
  	return retVal, nil
  }
docs: // NewDropout creates a Dropout descriptor. It is not usable by default because some additional stateful information needs to be passed in