Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. class RandomGridSearch(n: Int) {
  2. private val paramDistr = mutable.Map.empty[Param[_],Any]
  3.  
  4. def addDistr[T](param: Param[T], distr: Any ): this.type = distr match {
  5. case _ : Rand[_] => {paramDistr.put(param, distr)
  6. this}
  7. case _ : Array[_] => { paramDistr.put(param, distr)
  8. this}
  9. case _ => throw new NotImplementedError("Not an Array or of package breeze type")
  10. }
  11. def build(): Array[ParamMap] = {
  12. var paramMaps = (1 to n).map( _ => new ParamMap())
  13. paramDistr.foreach{
  14. case (param, distribution) =>
  15. val values = distribution match {
  16. case d :Rand[_] => {
  17. paramMaps.map(_.put(param.asInstanceOf[Param[Any]],d.sample()))
  18. }
  19. case d: Array[_] => {
  20. val r = scala.util.Random
  21. paramMaps.map(_.put(param.asInstanceOf[Param[Any]], d(r.nextInt(d.length))) )
  22. }
  23. }
  24. }
  25. paramMaps.toArray
  26. }
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement