In[]:=
net=CloudGet[CloudObject["https://www.wolframcloud.com/obj/nikm/LinePrediction.wlnet"]]
Out[]=
In[]:=
lines=Catenate@CloudGet@CloudObject["https://www.wolframcloud.com/obj/nikm/Lines"];
In[]:=
autoEncoder[net_]:=NetGraph[{"encode"->NetExtract[net,{"vae","Net","encoder"}],"decode"->NetExtract[net,{"vae","Net","decoder"}]},{NetPort["Input"]->"encode",NetPort[{"encode","Mean"}]->"decode"->NetPort["Output"]},"Input"->NetEncoder[{"Image",{32,32},ColorSpace->"Grayscale"}],"Output"->NetDecoder["Image"]]extractPredict[net_]:=NetGraph[{"encode"->NetExtract[net,{"vae","Net","encoder"}],"predict"->NetExtract[net,{"prediction","predict"}],"decode"->NetExtract[net,{"vae","Net","decoder"}]},{NetPort["Input"]->"encode",NetPort[{"encode","Mean"}]->"predict"->"decode"->NetPort["Output"]},"Input"->NetEncoder[{"Image",{32,32},ColorSpace->"Grayscale"}],"Output"->NetDecoder["Image"]]
In[]:=
ae=autoEncoder[net];
In[]:=
predict=extractPredict[net];
In[]:=
img=ImageAdd@@RandomChoice[lines,2]
Out[]=
In[]:=
Column[{x,y}=Flatten@ImagePartition[img,32]]
Out[]=
In[]:=
GraphicsColumn[NestList[predict[#]["Output"]&,x,10]]
Out[]=