Wolfram言語

ニューラルネットワーク

ランダムな画像を生成する

(x, y)の画素の位置を(r, g, b)のカラー値にマップするネットワークを無作為抽出することによって,画像を生成する.

画素座標からより高次元の特徴空間にマップした後RGBカラー空間にマップする一連の層からネットワークを作成する.

In[1]:=
Click for copyable input
net = NetChain[{30, Tanh, 3, Tanh, 3, LogisticSigmoid}, "Input" -> 2]
Out[1]=

ベースネットワークの無作為に初期化されたコピーの表を作成する.

In[2]:=
Click for copyable input
nets = Table[ NetInitialize[net, Method -> {"Random", "Weights" -> 3, "Biases" -> 2}], 25];

初期化されたネットワークを使って,画像を画素座標の密な配列に適用することにより,画像を生成する.

In[3]:=
Click for copyable input
row = Range[-2, 2, 0.04]; coords = Tuples[row, 2]; plot[net_] := Image[Partition[net[coords], Length[row]]]; Multicolumn@Table[plot[net], {net, nets}]
Out[3]=

関連する例

de en es fr ko pt-br ru zh