生成随机图像
通过在从像素位置 (x, y) 到彩色值 (r, g, b) 映射的网络上随机取样来创建图像.
从将像素坐标映射到更高维的特征空间,然后再映射到 RGB 色彩空间这样一个层级链创建网络.
In[1]:=
![Click for copyable input](assets.zh/generate-random-images/In_86.png)
net = NetChain[{30, Tanh, 3, Tanh, 3, LogisticSigmoid}, "Input" -> 2]
Out[1]=
![](assets.zh/generate-random-images/O_72.png)
用基础网络的随机初始化的复制件做表.
In[2]:=
![Click for copyable input](assets.zh/generate-random-images/In_87.png)
nets = Table[
NetInitialize[net,
Method -> {"Random", "Weights" -> 3, "Biases" -> 2}], 25];
通过应用于像素坐标的密集数组,用初始化网络来产生图像.
In[3]:=
![Click for copyable input](assets.zh/generate-random-images/In_88.png)
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]=
![](assets.zh/generate-random-images/O_73.png)