2 Match updated question (from comment).
source | link

Something like this?

network[n_List] := 
  MapThread[
   (<|"w" -> Table[RandomVariate[NormalDistribution[]], #2, #1], 
      "b" -> Table[RandomVariate[NormalDistribution[]], #2]|> &),
   {Most@n, Rest@n}];

SeedRandom[0];
network[{1, 2, 3}]
(*
  {<|"w" -> {{-0.619487}, {-0.798718}},
     "b" -> {0.36195, -1.09919}|>,
   <|"w" -> {{-1.30657, 0.74753}, {-0.283601, 0.0598676}, {0.509336, -0.663203}}, 
     "b" -> {0.452192, -0.27623, -0.457804}|>}
*)

Note that in the comments, the desired output was given as something like this, with "b" associated to a random vector instead of the integer 2:

SeedRandom[0]; 
Block[{n = Range@3}, 
 Thread[l[Most@n, Rest@n]] /. 
  l -> (<|"w" -> Table[RandomVariate[NormalDistribution[]], #2, #1], 
      "b" -> Table[RandomVariate[NormalDistribution[]], #2]|> &)
 ]
(* output same as above *)

Something like this?

network[n_List] := 
  MapThread[
   (<|"w" -> Table[RandomVariate[NormalDistribution[]], #2, #1], 
      "b" -> Table[RandomVariate[NormalDistribution[]], #2]|> &),
   {Most@n, Rest@n}];

SeedRandom[0];
network[{1, 2, 3}]
(*
  {<|"w" -> {{-0.619487}, {-0.798718}},
     "b" -> {0.36195, -1.09919}|>,
   <|"w" -> {{-1.30657, 0.74753}, {-0.283601, 0.0598676}, {0.509336, -0.663203}}, 
     "b" -> {0.452192, -0.27623, -0.457804}|>}
*)

Note that in the comments, the desired output was given as something like this, with "b" associated to a random vector instead of the integer 2:

SeedRandom[0]; 
Block[{n = Range@3}, 
 Thread[l[Most@n, Rest@n]] /. 
  l -> (<|"w" -> Table[RandomVariate[NormalDistribution[]], #2, #1], 
      "b" -> Table[RandomVariate[NormalDistribution[]], #2]|> &)
 ]
(* output same as above *)

Something like this?

network[n_List] := 
  MapThread[
   (<|"w" -> Table[RandomVariate[NormalDistribution[]], #2, #1], 
      "b" -> Table[RandomVariate[NormalDistribution[]], #2]|> &),
   {Most@n, Rest@n}];

SeedRandom[0];
network[{1, 2, 3}]
(*
  {<|"w" -> {{-0.619487}, {-0.798718}},
     "b" -> {0.36195, -1.09919}|>,
   <|"w" -> {{-1.30657, 0.74753}, {-0.283601, 0.0598676}, {0.509336, -0.663203}}, 
     "b" -> {0.452192, -0.27623, -0.457804}|>}
*)
1
source | link

Something like this?

network[n_List] := 
  MapThread[
   (<|"w" -> Table[RandomVariate[NormalDistribution[]], #2, #1], 
      "b" -> Table[RandomVariate[NormalDistribution[]], #2]|> &),
   {Most@n, Rest@n}];

SeedRandom[0];
network[{1, 2, 3}]
(*
  {<|"w" -> {{-0.619487}, {-0.798718}},
     "b" -> {0.36195, -1.09919}|>,
   <|"w" -> {{-1.30657, 0.74753}, {-0.283601, 0.0598676}, {0.509336, -0.663203}}, 
     "b" -> {0.452192, -0.27623, -0.457804}|>}
*)

Note that in the comments, the desired output was given as something like this, with "b" associated to a random vector instead of the integer 2:

SeedRandom[0]; 
Block[{n = Range@3}, 
 Thread[l[Most@n, Rest@n]] /. 
  l -> (<|"w" -> Table[RandomVariate[NormalDistribution[]], #2, #1], 
      "b" -> Table[RandomVariate[NormalDistribution[]], #2]|> &)
 ]
(* output same as above *)