ofs | hex dump | ascii |
---|
0000 | 50 4b 03 04 14 00 00 00 00 00 02 84 1e 4b 5d 81 39 dd bc 0c 00 00 bc 0c 00 00 1c 00 00 00 61 75 | PK...........K].9.............au |
0020 | 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 57 44 41 2e 69 70 79 6e 62 7b 0a 20 20 22 6e | to_examples/plot_WDA.ipynb{..."n |
0040 | 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 | bformat_minor":.0,...."nbformat" |
0060 | 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 | :.4,...."cells":.[.....{......." |
0080 | 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 | execution_count":.null,........" |
00a0 | 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 | cell_type":."code",........"sour |
00c0 | 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 74 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 | ce":.[........."%matplotlib.inli |
00e0 | 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b | ne".......],........"outputs":.[ |
0100 | 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 | ],........"metadata":.{......... |
0120 | 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d | "collapsed":.false.......}.....} |
0140 | 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 | ,......{......."source":.[...... |
0160 | 20 20 20 22 5c 6e 23 20 57 61 73 73 65 72 73 74 65 69 6e 20 44 69 73 63 72 69 6d 69 6e 61 6e 74 | ..."\n#.Wasserstein.Discriminant |
0180 | 20 41 6e 61 6c 79 73 69 73 5c 6e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 | .Analysis\n\n\n\n".......],..... |
01a0 | 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 | ..."cell_type":."markdown",..... |
01c0 | 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a | ..."metadata":.{}.....},......{. |
01e0 | 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a | ......"execution_count":.null,.. |
0200 | 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 | ......"cell_type":."code",...... |
0220 | 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 20 41 75 74 68 6f 72 3a | .."source":.[........."#.Author: |
0240 | 20 52 65 6d 69 20 46 6c 61 6d 61 72 79 20 3c 72 65 6d 69 2e 66 6c 61 6d 61 72 79 40 75 6e 69 63 | .Remi.Flamary.<remi.flamary@unic |
0260 | 65 2e 66 72 3e 5c 6e 23 5c 6e 23 20 4c 69 63 65 6e 73 65 3a 20 4d 49 54 20 4c 69 63 65 6e 73 65 | e.fr>\n#\n#.License:.MIT.License |
0280 | 5c 6e 5c 6e 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 6d | \n\nimport.numpy.as.np\nimport.m |
02a0 | 61 74 70 6c 6f 74 6c 69 62 2e 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e 5c 6e 66 72 6f 6d 20 6f 74 | atplotlib.pylab.as.pl\n\nfrom.ot |
02c0 | 2e 64 72 20 69 6d 70 6f 72 74 20 77 64 61 2c 20 66 64 61 5c 6e 5c 6e 5c 6e 23 25 25 20 70 61 72 | .dr.import.wda,.fda\n\n\n#%%.par |
02e0 | 61 6d 65 74 65 72 73 5c 6e 5c 6e 6e 20 3d 20 31 30 30 30 20 20 23 20 6e 62 20 73 61 6d 70 6c 65 | ameters\n\nn.=.1000..#.nb.sample |
0300 | 73 20 69 6e 20 73 6f 75 72 63 65 20 61 6e 64 20 74 61 72 67 65 74 20 64 61 74 61 73 65 74 73 5c | s.in.source.and.target.datasets\ |
0320 | 6e 6e 7a 20 3d 20 30 2e 32 5c 6e 5c 6e 23 20 67 65 6e 65 72 61 74 65 20 63 69 72 63 6c 65 20 64 | nnz.=.0.2\n\n#.generate.circle.d |
0340 | 61 74 61 73 65 74 5c 6e 74 20 3d 20 6e 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 28 6e 29 20 2a 20 | ataset\nt.=.np.random.rand(n).*. |
0360 | 32 20 2a 20 6e 70 2e 70 69 5c 6e 79 73 20 3d 20 6e 70 2e 66 6c 6f 6f 72 28 28 6e 70 2e 61 72 61 | 2.*.np.pi\nys.=.np.floor((np.ara |
0380 | 6e 67 65 28 6e 29 20 2a 20 31 2e 30 20 2f 20 6e 20 2a 20 33 29 29 20 2b 20 31 5c 6e 78 73 20 3d | nge(n).*.1.0./.n.*.3)).+.1\nxs.= |
03a0 | 20 6e 70 2e 63 6f 6e 63 61 74 65 6e 61 74 65 28 5c 6e 20 20 20 20 28 6e 70 2e 63 6f 73 28 74 29 | .np.concatenate(\n....(np.cos(t) |
03c0 | 2e 72 65 73 68 61 70 65 28 28 2d 31 2c 20 31 29 29 2c 20 6e 70 2e 73 69 6e 28 74 29 2e 72 65 73 | .reshape((-1,.1)),.np.sin(t).res |
03e0 | 68 61 70 65 28 28 2d 31 2c 20 31 29 29 29 2c 20 31 29 5c 6e 78 73 20 3d 20 78 73 20 2a 20 79 73 | hape((-1,.1))),.1)\nxs.=.xs.*.ys |
0400 | 2e 72 65 73 68 61 70 65 28 2d 31 2c 20 31 29 20 2b 20 6e 7a 20 2a 20 6e 70 2e 72 61 6e 64 6f 6d | .reshape(-1,.1).+.nz.*.np.random |
0420 | 2e 72 61 6e 64 6e 28 6e 2c 20 32 29 5c 6e 5c 6e 74 20 3d 20 6e 70 2e 72 61 6e 64 6f 6d 2e 72 61 | .randn(n,.2)\n\nt.=.np.random.ra |
0440 | 6e 64 28 6e 29 20 2a 20 32 20 2a 20 6e 70 2e 70 69 5c 6e 79 74 20 3d 20 6e 70 2e 66 6c 6f 6f 72 | nd(n).*.2.*.np.pi\nyt.=.np.floor |
0460 | 28 28 6e 70 2e 61 72 61 6e 67 65 28 6e 29 20 2a 20 31 2e 30 20 2f 20 6e 20 2a 20 33 29 29 20 2b | ((np.arange(n).*.1.0./.n.*.3)).+ |
0480 | 20 31 5c 6e 78 74 20 3d 20 6e 70 2e 63 6f 6e 63 61 74 65 6e 61 74 65 28 5c 6e 20 20 20 20 28 6e | .1\nxt.=.np.concatenate(\n....(n |
04a0 | 70 2e 63 6f 73 28 74 29 2e 72 65 73 68 61 70 65 28 28 2d 31 2c 20 31 29 29 2c 20 6e 70 2e 73 69 | p.cos(t).reshape((-1,.1)),.np.si |
04c0 | 6e 28 74 29 2e 72 65 73 68 61 70 65 28 28 2d 31 2c 20 31 29 29 29 2c 20 31 29 5c 6e 78 74 20 3d | n(t).reshape((-1,.1))),.1)\nxt.= |
04e0 | 20 78 74 20 2a 20 79 74 2e 72 65 73 68 61 70 65 28 2d 31 2c 20 31 29 20 2b 20 6e 7a 20 2a 20 6e | .xt.*.yt.reshape(-1,.1).+.nz.*.n |
0500 | 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 6e 28 6e 2c 20 32 29 5c 6e 5c 6e 6e 62 6e 6f 69 73 65 20 | p.random.randn(n,.2)\n\nnbnoise. |
0520 | 3d 20 38 5c 6e 5c 6e 78 73 20 3d 20 6e 70 2e 68 73 74 61 63 6b 28 28 78 73 2c 20 6e 70 2e 72 61 | =.8\n\nxs.=.np.hstack((xs,.np.ra |
0540 | 6e 64 6f 6d 2e 72 61 6e 64 6e 28 6e 2c 20 6e 62 6e 6f 69 73 65 29 29 29 5c 6e 78 74 20 3d 20 6e | ndom.randn(n,.nbnoise)))\nxt.=.n |
0560 | 70 2e 68 73 74 61 63 6b 28 28 78 74 2c 20 6e 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 6e 28 6e 2c | p.hstack((xt,.np.random.randn(n, |
0580 | 20 6e 62 6e 6f 69 73 65 29 29 29 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 73 61 6d 70 6c 65 73 5c | .nbnoise)))\n\n#%%.plot.samples\ |
05a0 | 6e 70 6c 2e 66 69 67 75 72 65 28 31 2c 20 66 69 67 73 69 7a 65 3d 28 36 2e 34 2c 20 33 2e 35 29 | npl.figure(1,.figsize=(6.4,.3.5) |
05c0 | 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 32 2c 20 31 29 5c 6e 70 6c 2e 73 63 61 | )\n\npl.subplot(1,.2,.1)\npl.sca |
05e0 | 74 74 65 72 28 78 74 5b 3a 2c 20 30 5d 2c 20 78 74 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c 20 6d | tter(xt[:,.0],.xt[:,.1],.c=ys,.m |
0600 | 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 | arker='+',.label='Source.samples |
0620 | 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 | ')\npl.legend(loc=0)\npl.title(' |
0640 | 44 69 73 63 72 69 6d 69 6e 61 6e 74 20 64 69 6d 65 6e 73 69 6f 6e 73 27 29 5c 6e 5c 6e 70 6c 2e | Discriminant.dimensions')\n\npl. |
0660 | 73 75 62 70 6c 6f 74 28 31 2c 20 32 2c 20 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b | subplot(1,.2,.2)\npl.scatter(xt[ |
0680 | 3a 2c 20 32 5d 2c 20 78 74 5b 3a 2c 20 33 5d 2c 20 63 3d 79 73 2c 20 6d 61 72 6b 65 72 3d 27 2b | :,.2],.xt[:,.3],.c=ys,.marker='+ |
06a0 | 27 2c 20 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c | ',.label='Source.samples')\npl.l |
06c0 | 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 74 68 65 72 20 64 69 | egend(loc=0)\npl.title('Other.di |
06e0 | 6d 65 6e 73 69 6f 6e 73 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 5c 6e 5c | mensions')\npl.tight_layout()\n\ |
0700 | 6e 23 25 25 20 43 6f 6d 70 75 74 65 20 46 44 41 5c 6e 70 20 3d 20 32 5c 6e 5c 6e 50 66 64 61 2c | n#%%.Compute.FDA\np.=.2\n\nPfda, |
0720 | 20 70 72 6f 6a 66 64 61 20 3d 20 66 64 61 28 78 73 2c 20 79 73 2c 20 70 29 5c 6e 5c 6e 23 25 25 | .projfda.=.fda(xs,.ys,.p)\n\n#%% |
0740 | 20 43 6f 6d 70 75 74 65 20 57 44 41 5c 6e 70 20 3d 20 32 5c 6e 72 65 67 20 3d 20 31 65 30 5c 6e | .Compute.WDA\np.=.2\nreg.=.1e0\n |
0760 | 6b 20 3d 20 31 30 5c 6e 6d 61 78 69 74 65 72 20 3d 20 31 30 30 5c 6e 5c 6e 50 77 64 61 2c 20 70 | k.=.10\nmaxiter.=.100\n\nPwda,.p |
0780 | 72 6f 6a 77 64 61 20 3d 20 77 64 61 28 78 73 2c 20 79 73 2c 20 70 2c 20 72 65 67 2c 20 6b 2c 20 | rojwda.=.wda(xs,.ys,.p,.reg,.k,. |
07a0 | 6d 61 78 69 74 65 72 3d 6d 61 78 69 74 65 72 29 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 73 61 6d | maxiter=maxiter)\n\n#%%.plot.sam |
07c0 | 70 6c 65 73 5c 6e 5c 6e 78 73 70 20 3d 20 70 72 6f 6a 66 64 61 28 78 73 29 5c 6e 78 74 70 20 3d | ples\n\nxsp.=.projfda(xs)\nxtp.= |
07e0 | 20 70 72 6f 6a 66 64 61 28 78 74 29 5c 6e 5c 6e 78 73 70 77 20 3d 20 70 72 6f 6a 77 64 61 28 78 | .projfda(xt)\n\nxspw.=.projwda(x |
0800 | 73 29 5c 6e 78 74 70 77 20 3d 20 70 72 6f 6a 77 64 61 28 78 74 29 5c 6e 5c 6e 70 6c 2e 66 69 67 | s)\nxtpw.=.projwda(xt)\n\npl.fig |
0820 | 75 72 65 28 32 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 32 2c 20 31 29 5c 6e 70 | ure(2)\n\npl.subplot(2,.2,.1)\np |
0840 | 6c 2e 73 63 61 74 74 65 72 28 78 73 70 5b 3a 2c 20 30 5d 2c 20 78 73 70 5b 3a 2c 20 31 5d 2c 20 | l.scatter(xsp[:,.0],.xsp[:,.1],. |
0860 | 63 3d 79 73 2c 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 50 72 6f 6a 65 63 74 | c=ys,.marker='+',.label='Project |
0880 | 65 64 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e | ed.samples')\npl.legend(loc=0)\n |
08a0 | 70 6c 2e 74 69 74 6c 65 28 27 50 72 6f 6a 65 63 74 65 64 20 74 72 61 69 6e 69 6e 67 20 73 61 6d | pl.title('Projected.training.sam |
08c0 | 70 6c 65 73 20 46 44 41 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 32 2c 20 32 | ples.FDA')\n\npl.subplot(2,.2,.2 |
08e0 | 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 70 5b 3a 2c 20 30 5d 2c 20 78 74 70 5b 3a 2c 20 | )\npl.scatter(xtp[:,.0],.xtp[:,. |
0900 | 31 5d 2c 20 63 3d 79 73 2c 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 50 72 6f | 1],.c=ys,.marker='+',.label='Pro |
0920 | 6a 65 63 74 65 64 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d | jected.samples')\npl.legend(loc= |
0940 | 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 50 72 6f 6a 65 63 74 65 64 20 74 65 73 74 20 73 61 6d | 0)\npl.title('Projected.test.sam |
0960 | 70 6c 65 73 20 46 44 41 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 32 2c 20 33 | ples.FDA')\n\npl.subplot(2,.2,.3 |
0980 | 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 70 77 5b 3a 2c 20 30 5d 2c 20 78 73 70 77 5b 3a | )\npl.scatter(xspw[:,.0],.xspw[: |
09a0 | 2c 20 31 5d 2c 20 63 3d 79 73 2c 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 50 | ,.1],.c=ys,.marker='+',.label='P |
09c0 | 72 6f 6a 65 63 74 65 64 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f | rojected.samples')\npl.legend(lo |
09e0 | 63 3d 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 50 72 6f 6a 65 63 74 65 64 20 74 72 61 69 6e 69 | c=0)\npl.title('Projected.traini |
0a00 | 6e 67 20 73 61 6d 70 6c 65 73 20 57 44 41 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 | ng.samples.WDA')\n\npl.subplot(2 |
0a20 | 2c 20 32 2c 20 34 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 70 77 5b 3a 2c 20 30 5d 2c 20 | ,.2,.4)\npl.scatter(xtpw[:,.0],. |
0a40 | 78 74 70 77 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 | xtpw[:,.1],.c=ys,.marker='+',.la |
0a60 | 62 65 6c 3d 27 50 72 6f 6a 65 63 74 65 64 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 | bel='Projected.samples')\npl.leg |
0a80 | 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 50 72 6f 6a 65 63 74 65 64 20 | end(loc=0)\npl.title('Projected. |
0aa0 | 74 65 73 74 20 73 61 6d 70 6c 65 73 20 57 44 41 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 | test.samples.WDA')\npl.tight_lay |
0ac0 | 6f 75 74 28 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 | out()\n\npl.show()".......],.... |
0ae0 | 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 | ...."outputs":.[],........"metad |
0b00 | 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c | ata":.{........."collapsed":.fal |
0b20 | 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 | se.......}.....}...],...."metada |
0b40 | 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 | ta":.{....."kernelspec":.{...... |
0b60 | 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 | ."display_name":."Python.2",.... |
0b80 | 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c | ...."name":."python2",........"l |
0ba0 | 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 | anguage":."python".....},......" |
0bc0 | 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 | language_info":.{......."mimetyp |
0be0 | 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 | e":."text/x-python",........"nbc |
0c00 | 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 | onvert_exporter":."python",..... |
0c20 | 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c | ..."name":."python",........"fil |
0c40 | 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 | e_extension":.".py",........"ver |
0c60 | 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 | sion":."2.7.12",........"pygment |
0c80 | 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f | s_lexer":."ipython2",........"co |
0ca0 | 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 | demirror_mode":.{........."versi |
0cc0 | 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f | on":.2,.........."name":."ipytho |
0ce0 | 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 | n".......}.....}...}.}PK........ |
0d00 | 87 7b 82 49 fa 8c 13 06 e2 10 00 00 e2 10 00 00 25 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 | .{.I............%...auto_example |
0d20 | 73 2f 70 6c 6f 74 5f 4f 54 44 41 5f 6d 61 70 70 69 6e 67 2e 69 70 79 6e 62 7b 0a 20 20 22 6e 62 | s/plot_OTDA_mapping.ipynb{..."nb |
0d40 | 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a | format_minor":.0,...."nbformat": |
0d60 | 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 | .4,...."cells":.[.....{......."e |
0d80 | 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 | xecution_count":.null,........"c |
0da0 | 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 | ell_type":."code",........"sourc |
0dc0 | 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 74 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e | e":.[........."%matplotlib.inlin |
0de0 | 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d | e".......],........"outputs":.[] |
0e00 | 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 | ,........"metadata":.{........." |
0e20 | 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c | collapsed":.false.......}.....}, |
0e40 | 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 | ......{......."source":.[....... |
0e60 | 20 20 22 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | .."\n=========================== |
0e80 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 4f 54 20 6d 61 70 70 69 6e 67 | ====================\nOT.mapping |
0ea0 | 20 65 73 74 69 6d 61 74 69 6f 6e 20 66 6f 72 20 64 6f 6d 61 69 6e 20 61 64 61 70 74 61 74 69 6f | .estimation.for.domain.adaptatio |
0ec0 | 6e 20 5b 38 5d 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | n.[8]\n========================= |
0ee0 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 5c 6e 5b 38 5d 20 4d 2e | ======================\n\n[8].M. |
0f00 | 20 50 65 72 72 6f 74 2c 20 4e 2e 20 43 6f 75 72 74 79 2c 20 52 2e 20 46 6c 61 6d 61 72 79 2c 20 | .Perrot,.N..Courty,.R..Flamary,. |
0f20 | 41 2e 20 48 61 62 72 61 72 64 2c 20 5c 22 4d 61 70 70 69 6e 67 20 65 73 74 69 6d 61 74 69 6f 6e | A..Habrard,.\"Mapping.estimation |
0f40 | 20 66 6f 72 5c 6e 20 20 20 20 64 69 73 63 72 65 74 65 20 6f 70 74 69 6d 61 6c 20 74 72 61 6e 73 | .for\n....discrete.optimal.trans |
0f60 | 70 6f 72 74 5c 22 2c 20 4e 65 75 72 61 6c 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 50 72 6f 63 65 | port\",.Neural.Information.Proce |
0f80 | 73 73 69 6e 67 20 53 79 73 74 65 6d 73 20 28 4e 49 50 53 29 2c 20 32 30 31 36 2e 5c 6e 5c 6e 22 | ssing.Systems.(NIPS),.2016.\n\n" |
0fa0 | 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d | .......],........"cell_type":."m |
0fc0 | 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a | arkdown",........"metadata":.{}. |
0fe0 | 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 | ....},......{......."execution_c |
1000 | 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a | ount":.null,........"cell_type": |
1020 | 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 | ."code",........"source":.[..... |
1040 | 20 20 20 20 22 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 | ...."import.numpy.as.np\nimport. |
1060 | 6d 61 74 70 6c 6f 74 6c 69 62 2e 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f | matplotlib.pylab.as.pl\nimport.o |
1080 | 74 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 64 61 74 61 73 65 74 20 67 65 6e 65 72 61 74 69 6f 6e 5c | t\n\n\n\n#%%.dataset.generation\ |
10a0 | 6e 5c 6e 6e 70 2e 72 61 6e 64 6f 6d 2e 73 65 65 64 28 30 29 20 23 20 6d 61 6b 65 73 20 65 78 61 | n\nnp.random.seed(0).#.makes.exa |
10c0 | 6d 70 6c 65 20 72 65 70 72 6f 64 75 63 69 62 6c 65 5c 6e 5c 6e 6e 3d 31 30 30 20 23 20 6e 62 20 | mple.reproducible\n\nn=100.#.nb. |
10e0 | 73 61 6d 70 6c 65 73 20 69 6e 20 73 6f 75 72 63 65 20 61 6e 64 20 74 61 72 67 65 74 20 64 61 74 | samples.in.source.and.target.dat |
1100 | 61 73 65 74 73 5c 6e 74 68 65 74 61 3d 32 2a 6e 70 2e 70 69 2f 32 30 5c 6e 6e 7a 3d 30 2e 31 5c | asets\ntheta=2*np.pi/20\nnz=0.1\ |
1120 | 6e 78 73 2c 79 73 3d 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 64 61 74 61 5f 63 6c 61 73 | nxs,ys=ot.datasets.get_data_clas |
1140 | 73 69 66 28 27 67 61 75 73 73 72 6f 74 27 2c 6e 2c 6e 7a 3d 6e 7a 29 5c 6e 78 74 2c 79 74 3d 6f | sif('gaussrot',n,nz=nz)\nxt,yt=o |
1160 | 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 64 61 74 61 5f 63 6c 61 73 73 69 66 28 27 67 61 75 | t.datasets.get_data_classif('gau |
1180 | 73 73 72 6f 74 27 2c 6e 2c 74 68 65 74 61 3d 74 68 65 74 61 2c 6e 7a 3d 6e 7a 29 5c 6e 5c 6e 23 | ssrot',n,theta=theta,nz=nz)\n\n# |
11a0 | 20 6f 6e 65 20 6f 66 20 74 68 65 20 74 61 72 67 65 74 20 6d 6f 64 65 20 63 68 61 6e 67 65 73 20 | .one.of.the.target.mode.changes. |
11c0 | 69 74 73 20 76 61 72 69 61 6e 63 65 20 28 6e 6f 20 6c 69 6e 65 61 72 20 6d 61 70 70 69 6e 67 29 | its.variance.(no.linear.mapping) |
11e0 | 5c 6e 78 74 5b 79 74 3d 3d 32 5d 2a 3d 33 5c 6e 78 74 3d 78 74 2b 34 5c 6e 5c 6e 5c 6e 23 25 25 | \nxt[yt==2]*=3\nxt=xt+4\n\n\n#%% |
1200 | 20 70 6c 6f 74 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 31 2c 28 38 2c | .plot.samples\n\npl.figure(1,(8, |
1220 | 35 29 29 5c 6e 70 6c 2e 63 6c 66 28 29 5c 6e 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 5b 3a | 5))\npl.clf()\n\npl.scatter(xs[: |
1240 | 2c 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 | ,0],xs[:,1],c=ys,marker='+',labe |
1260 | 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 | l='Source.samples')\npl.scatter( |
1280 | 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c | xt[:,0],xt[:,1],c=yt,marker='o', |
12a0 | 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 5c 6e 70 6c 2e 6c 65 | label='Target.samples')\n\npl.le |
12c0 | 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 53 6f 75 72 63 65 20 61 6e | gend(loc=0)\npl.title('Source.an |
12e0 | 64 20 74 61 72 67 65 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 5c 6e 5c 6e 5c 6e | d.target.distributions')\n\n\n\n |
1300 | 23 25 25 20 4f 54 20 6c 69 6e 65 61 72 20 6d 61 70 70 69 6e 67 20 65 73 74 69 6d 61 74 69 6f 6e | #%%.OT.linear.mapping.estimation |
1320 | 5c 6e 5c 6e 65 74 61 3d 31 65 2d 38 20 20 20 23 20 71 75 61 64 72 61 74 69 63 20 72 65 67 75 6c | \n\neta=1e-8...#.quadratic.regul |
1340 | 61 72 69 7a 61 74 69 6f 6e 20 66 6f 72 20 72 65 67 72 65 73 73 69 6f 6e 5c 6e 6d 75 3d 31 65 30 | arization.for.regression\nmu=1e0 |
1360 | 20 20 20 20 20 23 20 77 65 69 67 68 74 20 6f 66 20 74 68 65 20 4f 54 20 6c 69 6e 65 61 72 20 74 | .....#.weight.of.the.OT.linear.t |
1380 | 65 72 6d 5c 6e 62 69 61 73 3d 54 72 75 65 20 20 23 20 65 73 74 69 6d 61 74 65 20 61 20 62 69 61 | erm\nbias=True..#.estimate.a.bia |
13a0 | 73 5c 6e 5c 6e 6f 74 5f 6d 61 70 70 69 6e 67 3d 6f 74 2e 64 61 2e 4f 54 44 41 5f 6d 61 70 70 69 | s\n\not_mapping=ot.da.OTDA_mappi |
13c0 | 6e 67 5f 6c 69 6e 65 61 72 28 29 5c 6e 6f 74 5f 6d 61 70 70 69 6e 67 2e 66 69 74 28 78 73 2c 78 | ng_linear()\not_mapping.fit(xs,x |
13e0 | 74 2c 6d 75 3d 6d 75 2c 65 74 61 3d 65 74 61 2c 62 69 61 73 3d 62 69 61 73 2c 6e 75 6d 49 74 65 | t,mu=mu,eta=eta,bias=bias,numIte |
1400 | 72 6d 61 78 20 3d 20 32 30 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 5c 6e 78 73 74 3d 6f | rmax.=.20,verbose=True)\n\nxst=o |
1420 | 74 5f 6d 61 70 70 69 6e 67 2e 70 72 65 64 69 63 74 28 78 73 29 20 23 20 75 73 65 20 74 68 65 20 | t_mapping.predict(xs).#.use.the. |
1440 | 65 73 74 69 6d 61 74 65 64 20 6d 61 70 70 69 6e 67 5c 6e 78 73 74 30 3d 6f 74 5f 6d 61 70 70 69 | estimated.mapping\nxst0=ot_mappi |
1460 | 6e 67 2e 69 6e 74 65 72 70 28 29 20 20 20 23 20 75 73 65 20 62 61 72 79 63 65 6e 74 72 69 63 20 | ng.interp()...#.use.barycentric. |
1480 | 6d 61 70 70 69 6e 67 5c 6e 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 2c 28 31 30 2c 37 29 29 | mapping\n\n\npl.figure(2,(10,7)) |
14a0 | 5c 6e 70 6c 2e 63 6c 66 28 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 31 29 5c 6e 70 | \npl.clf()\npl.subplot(2,2,1)\np |
14c0 | 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d | l.scatter(xt[:,0],xt[:,1],c=yt,m |
14e0 | 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 | arker='o',label='Target.samples' |
1500 | 2c 61 6c 70 68 61 3d 2e 33 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 30 5b 3a 2c 30 5d | ,alpha=.3)\npl.scatter(xst0[:,0] |
1520 | 2c 78 73 74 30 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c | ,xst0[:,1],c=ys,marker='+',label |
1540 | 3d 27 62 61 72 79 63 65 6e 74 72 69 63 20 6d 61 70 70 69 6e 67 27 29 5c 6e 70 6c 2e 74 69 74 6c | ='barycentric.mapping')\npl.titl |
1560 | 65 28 5c 22 62 61 72 79 63 65 6e 74 72 69 63 20 6d 61 70 70 69 6e 67 5c 22 29 5c 6e 5c 6e 70 6c | e(\"barycentric.mapping\")\n\npl |
1580 | 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a | .subplot(2,2,2)\npl.scatter(xt[: |
15a0 | 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 | ,0],xt[:,1],c=yt,marker='o',labe |
15c0 | 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 61 6c 70 68 61 3d 2e 33 29 5c 6e 70 6c | l='Target.samples',alpha=.3)\npl |
15e0 | 2e 73 63 61 74 74 65 72 28 78 73 74 5b 3a 2c 30 5d 2c 78 73 74 5b 3a 2c 31 5d 2c 63 3d 79 73 2c | .scatter(xst[:,0],xst[:,1],c=ys, |
1600 | 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 4c 65 61 72 6e 65 64 20 6d 61 70 70 69 6e | marker='+',label='Learned.mappin |
1620 | 67 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 5c 22 4c 65 61 72 6e 65 64 20 6d 61 70 70 69 6e 67 5c | g')\npl.title(\"Learned.mapping\ |
1640 | 22 29 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 4b 65 72 6e 65 6c 20 6d 61 70 70 69 6e 67 20 65 73 74 | ")\n\n\n\n#%%.Kernel.mapping.est |
1660 | 69 6d 61 74 69 6f 6e 5c 6e 5c 6e 65 74 61 3d 31 65 2d 35 20 20 20 23 20 71 75 61 64 72 61 74 69 | imation\n\neta=1e-5...#.quadrati |
1680 | 63 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 20 66 6f 72 20 72 65 67 72 65 73 73 69 6f 6e 5c | c.regularization.for.regression\ |
16a0 | 6e 6d 75 3d 31 65 2d 31 20 20 20 20 20 23 20 77 65 69 67 68 74 20 6f 66 20 74 68 65 20 4f 54 20 | nmu=1e-1.....#.weight.of.the.OT. |
16c0 | 6c 69 6e 65 61 72 20 74 65 72 6d 5c 6e 62 69 61 73 3d 54 72 75 65 20 20 23 20 65 73 74 69 6d 61 | linear.term\nbias=True..#.estima |
16e0 | 74 65 20 61 20 62 69 61 73 5c 6e 73 69 67 6d 61 3d 31 20 20 20 20 23 20 73 69 67 6d 61 20 62 61 | te.a.bias\nsigma=1....#.sigma.ba |
1700 | 6e 64 77 69 64 74 68 20 66 6f 74 20 67 61 75 73 73 69 61 6e 20 6b 65 72 6e 65 6c 5c 6e 5c 6e 5c | ndwidth.fot.gaussian.kernel\n\n\ |
1720 | 6e 6f 74 5f 6d 61 70 70 69 6e 67 5f 6b 65 72 6e 65 6c 3d 6f 74 2e 64 61 2e 4f 54 44 41 5f 6d 61 | not_mapping_kernel=ot.da.OTDA_ma |
1740 | 70 70 69 6e 67 5f 6b 65 72 6e 65 6c 28 29 5c 6e 6f 74 5f 6d 61 70 70 69 6e 67 5f 6b 65 72 6e 65 | pping_kernel()\not_mapping_kerne |
1760 | 6c 2e 66 69 74 28 78 73 2c 78 74 2c 6d 75 3d 6d 75 2c 65 74 61 3d 65 74 61 2c 73 69 67 6d 61 3d | l.fit(xs,xt,mu=mu,eta=eta,sigma= |
1780 | 73 69 67 6d 61 2c 62 69 61 73 3d 62 69 61 73 2c 6e 75 6d 49 74 65 72 6d 61 78 20 3d 20 31 30 2c | sigma,bias=bias,numItermax.=.10, |
17a0 | 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 5c 6e 78 73 74 5f 6b 65 72 6e 65 6c 3d 6f 74 5f 6d | verbose=True)\n\nxst_kernel=ot_m |
17c0 | 61 70 70 69 6e 67 5f 6b 65 72 6e 65 6c 2e 70 72 65 64 69 63 74 28 78 73 29 20 23 20 75 73 65 20 | apping_kernel.predict(xs).#.use. |
17e0 | 74 68 65 20 65 73 74 69 6d 61 74 65 64 20 6d 61 70 70 69 6e 67 5c 6e 78 73 74 30 5f 6b 65 72 6e | the.estimated.mapping\nxst0_kern |
1800 | 65 6c 3d 6f 74 5f 6d 61 70 70 69 6e 67 5f 6b 65 72 6e 65 6c 2e 69 6e 74 65 72 70 28 29 20 20 20 | el=ot_mapping_kernel.interp()... |
1820 | 23 20 75 73 65 20 62 61 72 79 63 65 6e 74 72 69 63 20 6d 61 70 70 69 6e 67 5c 6e 5c 6e 5c 6e 23 | #.use.barycentric.mapping\n\n\n# |
1840 | 25 25 20 50 6c 6f 74 74 69 6e 67 20 74 68 65 20 6d 61 70 70 65 64 20 73 61 6d 70 6c 65 73 5c 6e | %%.Plotting.the.mapped.samples\n |
1860 | 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 2c 28 31 30 2c 37 29 29 5c 6e 70 6c 2e 63 6c 66 28 29 5c | \npl.figure(2,(10,7))\npl.clf()\ |
1880 | 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 31 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 | npl.subplot(2,2,1)\npl.scatter(x |
18a0 | 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c | t[:,0],xt[:,1],c=yt,marker='o',l |
18c0 | 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 61 6c 70 68 61 3d 2e 32 29 5c | abel='Target.samples',alpha=.2)\ |
18e0 | 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 30 5b 3a 2c 30 5d 2c 78 73 74 30 5b 3a 2c 31 5d 2c | npl.scatter(xst0[:,0],xst0[:,1], |
1900 | 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 4d 61 70 70 65 64 20 73 6f | c=ys,marker='+',label='Mapped.so |
1920 | 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 5c 22 42 61 72 79 2e | urce.samples')\npl.title(\"Bary. |
1940 | 20 6d 61 70 70 69 6e 67 20 28 6c 69 6e 65 61 72 29 5c 22 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 | .mapping.(linear)\")\npl.legend( |
1960 | 6c 6f 63 3d 30 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 32 29 5c 6e 70 6c 2e | loc=0)\n\npl.subplot(2,2,2)\npl. |
1980 | 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 | scatter(xt[:,0],xt[:,1],c=yt,mar |
19a0 | 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 61 | ker='o',label='Target.samples',a |
19c0 | 6c 70 68 61 3d 2e 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 5b 3a 2c 30 5d 2c 78 73 | lpha=.2)\npl.scatter(xst[:,0],xs |
19e0 | 74 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 4c 65 | t[:,1],c=ys,marker='+',label='Le |
1a00 | 61 72 6e 65 64 20 6d 61 70 70 69 6e 67 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 5c 22 45 73 74 69 | arned.mapping')\npl.title(\"Esti |
1a20 | 6d 2e 20 6d 61 70 70 69 6e 67 20 28 6c 69 6e 65 61 72 29 5c 22 29 5c 6e 5c 6e 70 6c 2e 73 75 62 | m..mapping.(linear)\")\n\npl.sub |
1a40 | 70 6c 6f 74 28 32 2c 32 2c 33 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c | plot(2,2,3)\npl.scatter(xt[:,0], |
1a60 | 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 | xt[:,1],c=yt,marker='o',label='T |
1a80 | 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 61 6c 70 68 61 3d 2e 32 29 5c 6e 70 6c 2e 73 63 61 | arget.samples',alpha=.2)\npl.sca |
1aa0 | 74 74 65 72 28 78 73 74 30 5f 6b 65 72 6e 65 6c 5b 3a 2c 30 5d 2c 78 73 74 30 5f 6b 65 72 6e 65 | tter(xst0_kernel[:,0],xst0_kerne |
1ac0 | 6c 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 62 61 | l[:,1],c=ys,marker='+',label='ba |
1ae0 | 72 79 63 65 6e 74 72 69 63 20 6d 61 70 70 69 6e 67 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 5c 22 | rycentric.mapping')\npl.title(\" |
1b00 | 42 61 72 79 2e 20 6d 61 70 70 69 6e 67 20 28 6b 65 72 6e 65 6c 29 5c 22 29 5c 6e 5c 6e 70 6c 2e | Bary..mapping.(kernel)\")\n\npl. |
1b20 | 73 75 62 70 6c 6f 74 28 32 2c 32 2c 34 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c | subplot(2,2,4)\npl.scatter(xt[:, |
1b40 | 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c | 0],xt[:,1],c=yt,marker='o',label |
1b60 | 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 61 6c 70 68 61 3d 2e 32 29 5c 6e 70 6c 2e | ='Target.samples',alpha=.2)\npl. |
1b80 | 73 63 61 74 74 65 72 28 78 73 74 5f 6b 65 72 6e 65 6c 5b 3a 2c 30 5d 2c 78 73 74 5f 6b 65 72 6e | scatter(xst_kernel[:,0],xst_kern |
1ba0 | 65 6c 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 4c | el[:,1],c=ys,marker='+',label='L |
1bc0 | 65 61 72 6e 65 64 20 6d 61 70 70 69 6e 67 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 5c 22 45 73 74 | earned.mapping')\npl.title(\"Est |
1be0 | 69 6d 2e 20 6d 61 70 70 69 6e 67 20 28 6b 65 72 6e 65 6c 29 5c 22 29 22 0a 20 20 20 20 20 20 5d | im..mapping.(kernel)\")".......] |
1c00 | 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 | ,........"outputs":.[],........" |
1c20 | 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 | metadata":.{........."collapsed" |
1c40 | 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d | :.false.......}.....}...],...."m |
1c60 | 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b 0a | etadata":.{....."kernelspec":.{. |
1c80 | 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 22 | ......"display_name":."Python.2" |
1ca0 | 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 | ,........"name":."python2",..... |
1cc0 | 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a | ..."language":."python".....},.. |
1ce0 | 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d 69 | ...."language_info":.{......."mi |
1d00 | 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 | metype":."text/x-python",....... |
1d20 | 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c | ."nbconvert_exporter":."python", |
1d40 | 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 | ........"name":."python",....... |
1d60 | 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 20 | ."file_extension":.".py",....... |
1d80 | 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a 20 20 20 20 20 20 22 70 79 | ."version":."2.7.12",........"py |
1da0 | 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 | gments_lexer":."ipython2",...... |
1dc0 | 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 | .."codemirror_mode":.{........." |
1de0 | 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 | version":.2,.........."name":."i |
1e00 | 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 | python".......}.....}...}.}PK... |
1e20 | 00 00 00 00 00 04 84 1e 4b d9 36 2d b4 9c 09 00 00 9c 09 00 00 24 00 00 00 61 75 74 6f 5f 65 78 | ........K.6-.........$...auto_ex |
1e40 | 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 6f 70 74 69 6d 5f 4f 54 72 65 67 2e 69 70 79 6e 62 7b 0a 20 | amples/plot_optim_OTreg.ipynb{.. |
1e60 | 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 6e 62 66 6f 72 6d | ."nbformat_minor":.0,...."nbform |
1e80 | 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 | at":.4,...."cells":.[.....{..... |
1ea0 | 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 | .."execution_count":.null,...... |
1ec0 | 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 | .."cell_type":."code",........"s |
1ee0 | 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 74 70 6c 6f 74 6c 69 62 20 69 | ource":.[........."%matplotlib.i |
1f00 | 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 | nline".......],........"outputs" |
1f20 | 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 | :.[],........"metadata":.{...... |
1f40 | 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 | ..."collapsed":.false.......}... |
1f60 | 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 | ..},......{......."source":.[... |
1f80 | 20 20 20 20 20 20 22 5c 6e 23 20 52 65 67 75 6c 61 72 69 7a 65 64 20 4f 54 20 77 69 74 68 20 67 | ......"\n#.Regularized.OT.with.g |
1fa0 | 65 6e 65 72 69 63 20 73 6f 6c 76 65 72 5c 6e 5c 6e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d | eneric.solver\n\n\n\n\n".......] |
1fc0 | 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 | ,........"cell_type":."markdown" |
1fe0 | 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a | ,........"metadata":.{}.....},.. |
2000 | 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e | ....{......."execution_count":.n |
2020 | 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c | ull,........"cell_type":."code", |
2040 | 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 6d 70 | ........"source":.[........."imp |
2060 | 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 6d 61 74 70 6c 6f 74 6c | ort.numpy.as.np\nimport.matplotl |
2080 | 69 62 2e 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 5c 6e 5c 6e 23 | ib.pylab.as.pl\nimport.ot\n\n\n# |
20a0 | 25 25 20 70 61 72 61 6d 65 74 65 72 73 5c 6e 5c 6e 6e 20 3d 20 31 30 30 20 20 23 20 6e 62 20 62 | %%.parameters\n\nn.=.100..#.nb.b |
20c0 | 69 6e 73 5c 6e 5c 6e 23 20 62 69 6e 20 70 6f 73 69 74 69 6f 6e 73 5c 6e 78 20 3d 20 6e 70 2e 61 | ins\n\n#.bin.positions\nx.=.np.a |
20e0 | 72 61 6e 67 65 28 6e 2c 20 64 74 79 70 65 3d 6e 70 2e 66 6c 6f 61 74 36 34 29 5c 6e 5c 6e 23 20 | range(n,.dtype=np.float64)\n\n#. |
2100 | 47 61 75 73 73 69 61 6e 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 61 20 3d 20 6f 74 2e 64 | Gaussian.distributions\na.=.ot.d |
2120 | 61 74 61 73 65 74 73 2e 67 65 74 5f 31 44 5f 67 61 75 73 73 28 6e 2c 20 6d 3d 32 30 2c 20 73 3d | atasets.get_1D_gauss(n,.m=20,.s= |
2140 | 35 29 20 20 23 20 6d 3d 20 6d 65 61 6e 2c 20 73 3d 20 73 74 64 5c 6e 62 20 3d 20 6f 74 2e 64 61 | 5)..#.m=.mean,.s=.std\nb.=.ot.da |
2160 | 74 61 73 65 74 73 2e 67 65 74 5f 31 44 5f 67 61 75 73 73 28 6e 2c 20 6d 3d 36 30 2c 20 73 3d 31 | tasets.get_1D_gauss(n,.m=60,.s=1 |
2180 | 30 29 5c 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 4d 20 3d 20 6f 74 2e 64 69 73 74 | 0)\n\n#.loss.matrix\nM.=.ot.dist |
21a0 | 28 78 2e 72 65 73 68 61 70 65 28 28 6e 2c 20 31 29 29 2c 20 78 2e 72 65 73 68 61 70 65 28 28 6e | (x.reshape((n,.1)),.x.reshape((n |
21c0 | 2c 20 31 29 29 29 5c 6e 4d 20 2f 3d 20 4d 2e 6d 61 78 28 29 5c 6e 5c 6e 23 25 25 20 45 4d 44 5c | ,.1)))\nM./=.M.max()\n\n#%%.EMD\ |
21e0 | 6e 5c 6e 47 30 20 3d 20 6f 74 2e 65 6d 64 28 61 2c 20 62 2c 20 4d 29 5c 6e 5c 6e 70 6c 2e 66 69 | n\nG0.=.ot.emd(a,.b,.M)\n\npl.fi |
2200 | 67 75 72 65 28 33 2c 20 66 69 67 73 69 7a 65 3d 28 35 2c 20 35 29 29 5c 6e 6f 74 2e 70 6c 6f 74 | gure(3,.figsize=(5,.5))\not.plot |
2220 | 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 20 62 2c 20 47 30 2c 20 27 4f 54 20 6d 61 74 72 69 78 | .plot1D_mat(a,.b,.G0,.'OT.matrix |
2240 | 20 47 30 27 29 5c 6e 5c 6e 23 25 25 20 45 78 61 6d 70 6c 65 20 77 69 74 68 20 46 72 6f 62 65 6e | .G0')\n\n#%%.Example.with.Froben |
2260 | 69 75 73 20 6e 6f 72 6d 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 5c 6e 5c 6e 5c 6e 64 65 66 | ius.norm.regularization\n\n\ndef |
2280 | 20 66 28 47 29 3a 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 30 2e 35 20 2a 20 6e 70 2e 73 75 6d 28 | .f(G):\n....return.0.5.*.np.sum( |
22a0 | 47 2a 2a 32 29 5c 6e 5c 6e 5c 6e 64 65 66 20 64 66 28 47 29 3a 5c 6e 20 20 20 20 72 65 74 75 72 | G**2)\n\n\ndef.df(G):\n....retur |
22c0 | 6e 20 47 5c 6e 5c 6e 5c 6e 72 65 67 20 3d 20 31 65 2d 31 5c 6e 5c 6e 47 6c 32 20 3d 20 6f 74 2e | n.G\n\n\nreg.=.1e-1\n\nGl2.=.ot. |
22e0 | 6f 70 74 69 6d 2e 63 67 28 61 2c 20 62 2c 20 4d 2c 20 72 65 67 2c 20 66 2c 20 64 66 2c 20 76 65 | optim.cg(a,.b,.M,.reg,.f,.df,.ve |
2300 | 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 33 29 5c 6e 6f 74 2e | rbose=True)\n\npl.figure(3)\not. |
2320 | 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 20 62 2c 20 47 6c 32 2c 20 27 4f 54 20 6d | plot.plot1D_mat(a,.b,.Gl2,.'OT.m |
2340 | 61 74 72 69 78 20 46 72 6f 62 2e 20 72 65 67 27 29 5c 6e 5c 6e 23 25 25 20 45 78 61 6d 70 6c 65 | atrix.Frob..reg')\n\n#%%.Example |
2360 | 20 77 69 74 68 20 65 6e 74 72 6f 70 69 63 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 5c 6e 5c | .with.entropic.regularization\n\ |
2380 | 6e 5c 6e 64 65 66 20 66 28 47 29 3a 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 6e 70 2e 73 75 6d 28 | n\ndef.f(G):\n....return.np.sum( |
23a0 | 47 20 2a 20 6e 70 2e 6c 6f 67 28 47 29 29 5c 6e 5c 6e 5c 6e 64 65 66 20 64 66 28 47 29 3a 5c 6e | G.*.np.log(G))\n\n\ndef.df(G):\n |
23c0 | 20 20 20 20 72 65 74 75 72 6e 20 6e 70 2e 6c 6f 67 28 47 29 20 2b 20 31 2e 5c 6e 5c 6e 5c 6e 72 | ....return.np.log(G).+.1.\n\n\nr |
23e0 | 65 67 20 3d 20 31 65 2d 33 5c 6e 5c 6e 47 65 20 3d 20 6f 74 2e 6f 70 74 69 6d 2e 63 67 28 61 2c | eg.=.1e-3\n\nGe.=.ot.optim.cg(a, |
2400 | 20 62 2c 20 4d 2c 20 72 65 67 2c 20 66 2c 20 64 66 2c 20 76 65 72 62 6f 73 65 3d 54 72 75 65 29 | .b,.M,.reg,.f,.df,.verbose=True) |
2420 | 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 34 2c 20 66 69 67 73 69 7a 65 3d 28 35 2c 20 35 29 29 | \n\npl.figure(4,.figsize=(5,.5)) |
2440 | 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 20 62 2c 20 47 65 2c 20 27 | \not.plot.plot1D_mat(a,.b,.Ge,.' |
2460 | 4f 54 20 6d 61 74 72 69 78 20 45 6e 74 72 6f 70 2e 20 72 65 67 27 29 5c 6e 5c 6e 23 25 25 20 45 | OT.matrix.Entrop..reg')\n\n#%%.E |
2480 | 78 61 6d 70 6c 65 20 77 69 74 68 20 46 72 6f 62 65 6e 69 75 73 20 6e 6f 72 6d 20 2b 20 65 6e 74 | xample.with.Frobenius.norm.+.ent |
24a0 | 72 6f 70 69 63 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 20 77 69 74 68 20 67 63 67 5c 6e 5c | ropic.regularization.with.gcg\n\ |
24c0 | 6e 5c 6e 64 65 66 20 66 28 47 29 3a 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 30 2e 35 20 2a 20 6e | n\ndef.f(G):\n....return.0.5.*.n |
24e0 | 70 2e 73 75 6d 28 47 2a 2a 32 29 5c 6e 5c 6e 5c 6e 64 65 66 20 64 66 28 47 29 3a 5c 6e 20 20 20 | p.sum(G**2)\n\n\ndef.df(G):\n... |
2500 | 20 72 65 74 75 72 6e 20 47 5c 6e 5c 6e 5c 6e 72 65 67 31 20 3d 20 31 65 2d 33 5c 6e 72 65 67 32 | .return.G\n\n\nreg1.=.1e-3\nreg2 |
2520 | 20 3d 20 31 65 2d 31 5c 6e 5c 6e 47 65 6c 32 20 3d 20 6f 74 2e 6f 70 74 69 6d 2e 67 63 67 28 61 | .=.1e-1\n\nGel2.=.ot.optim.gcg(a |
2540 | 2c 20 62 2c 20 4d 2c 20 72 65 67 31 2c 20 72 65 67 32 2c 20 66 2c 20 64 66 2c 20 76 65 72 62 6f | ,.b,.M,.reg1,.reg2,.f,.df,.verbo |
2560 | 73 65 3d 54 72 75 65 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 35 2c 20 66 69 67 73 69 7a 65 | se=True)\n\npl.figure(5,.figsize |
2580 | 3d 28 35 2c 20 35 29 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 20 | =(5,.5))\not.plot.plot1D_mat(a,. |
25a0 | 62 2c 20 47 65 6c 32 2c 20 27 4f 54 20 65 6e 74 72 6f 70 69 63 20 2b 20 6d 61 74 72 69 78 20 46 | b,.Gel2,.'OT.entropic.+.matrix.F |
25c0 | 72 6f 62 2e 20 72 65 67 27 29 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 2c 20 | rob..reg')\npl.show()".......],. |
25e0 | 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 | ......."outputs":.[],........"me |
2600 | 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 | tadata":.{........."collapsed":. |
2620 | 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 | false.......}.....}...],...."met |
2640 | 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 | adata":.{....."kernelspec":.{... |
2660 | 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 | ...."display_name":."Python.2",. |
2680 | 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 | ......."name":."python2",....... |
26a0 | 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 | ."language":."python".....},.... |
26c0 | 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 | .."language_info":.{......."mime |
26e0 | 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 | type":."text/x-python",........" |
2700 | 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a | nbconvert_exporter":."python",.. |
2720 | 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 | ......"name":."python",........" |
2740 | 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 | file_extension":.".py",........" |
2760 | 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d | version":."2.7.12",........"pygm |
2780 | 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 | ents_lexer":."ipython2",........ |
27a0 | 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 | "codemirror_mode":.{........."ve |
27c0 | 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 | rsion":.2,.........."name":."ipy |
27e0 | 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 | thon".......}.....}...}.}PK..... |
2800 | 00 00 00 76 7b 82 49 50 0d 0a 74 03 0e 00 00 03 0e 00 00 25 00 00 00 61 75 74 6f 5f 65 78 61 6d | ...v{.IP..t........%...auto_exam |
2820 | 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 44 41 5f 63 6c 61 73 73 65 73 2e 69 70 79 6e 62 7b 0a 20 20 | ples/plot_OTDA_classes.ipynb{... |
2840 | 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 6e 62 66 6f 72 6d 61 | "nbformat_minor":.0,...."nbforma |
2860 | 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 | t":.4,...."cells":.[.....{...... |
2880 | 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 | ."execution_count":.null,....... |
28a0 | 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f | ."cell_type":."code",........"so |
28c0 | 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 74 70 6c 6f 74 6c 69 62 20 69 6e | urce":.[........."%matplotlib.in |
28e0 | 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a | line".......],........"outputs": |
2900 | 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 | .[],........"metadata":.{....... |
2920 | 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 | .."collapsed":.false.......}.... |
2940 | 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | .},......{......."source":.[.... |
2960 | 20 20 20 20 20 22 5c 6e 23 20 4f 54 20 66 6f 72 20 64 6f 6d 61 69 6e 20 61 64 61 70 74 61 74 69 | ....."\n#.OT.for.domain.adaptati |
2980 | 6f 6e 5c 6e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c | on\n\n\n\n".......],........"cel |
29a0 | 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 | l_type":."markdown",........"met |
29c0 | 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 | adata":.{}.....},......{......." |
29e0 | 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 | execution_count":.null,........" |
2a00 | 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 | cell_type":."code",........"sour |
2a20 | 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 6d 70 6f 72 74 20 6d 61 74 70 6c 6f 74 6c 69 | ce":.[........."import.matplotli |
2a40 | 62 2e 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 5c 6e 5c 6e 5c 6e | b.pylab.as.pl\nimport.ot\n\n\n\n |
2a60 | 5c 6e 23 25 25 20 70 61 72 61 6d 65 74 65 72 73 5c 6e 5c 6e 6e 3d 31 35 30 20 23 20 6e 62 20 73 | \n#%%.parameters\n\nn=150.#.nb.s |
2a80 | 61 6d 70 6c 65 73 20 69 6e 20 73 6f 75 72 63 65 20 61 6e 64 20 74 61 72 67 65 74 20 64 61 74 61 | amples.in.source.and.target.data |
2aa0 | 73 65 74 73 5c 6e 5c 6e 78 73 2c 79 73 3d 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 64 61 | sets\n\nxs,ys=ot.datasets.get_da |
2ac0 | 74 61 5f 63 6c 61 73 73 69 66 28 27 33 67 61 75 73 73 27 2c 6e 29 5c 6e 78 74 2c 79 74 3d 6f 74 | ta_classif('3gauss',n)\nxt,yt=ot |
2ae0 | 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 64 61 74 61 5f 63 6c 61 73 73 69 66 28 27 33 67 61 75 | .datasets.get_data_classif('3gau |
2b00 | 73 73 32 27 2c 6e 29 5c 6e 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 73 61 6d 70 6c 65 | ss2',n)\n\n\n\n\n#%%.plot.sample |
2b20 | 73 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 31 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 | s\n\npl.figure(1)\n\npl.subplot( |
2b40 | 32 2c 32 2c 31 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c | 2,2,1)\npl.scatter(xs[:,0],xs[:, |
2b60 | 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 | 1],c=ys,marker='+',label='Source |
2b80 | 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c | .samples')\npl.legend(loc=0)\npl |
2ba0 | 2e 74 69 74 6c 65 28 27 53 6f 75 72 63 65 20 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c | .title('Source..distributions')\ |
2bc0 | 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 | n\npl.subplot(2,2,2)\npl.scatter |
2be0 | 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 | (xt[:,0],xt[:,1],c=yt,marker='o' |
2c00 | 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 | ,label='Target.samples')\npl.leg |
2c20 | 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 74 61 72 67 65 74 20 20 64 69 | end(loc=0)\npl.title('target..di |
2c40 | 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 5c 6e 5c 6e 23 25 25 20 4f 54 20 65 73 74 69 6d 61 | stributions')\n\n\n#%%.OT.estima |
2c60 | 74 69 6f 6e 5c 6e 5c 6e 23 20 4c 50 20 70 72 6f 62 6c 65 6d 5c 6e 64 61 5f 65 6d 64 3d 6f 74 2e | tion\n\n#.LP.problem\nda_emd=ot. |
2c80 | 64 61 2e 4f 54 44 41 28 29 20 20 20 20 20 23 20 69 6e 69 74 20 63 6c 61 73 73 5c 6e 64 61 5f 65 | da.OTDA().....#.init.class\nda_e |
2ca0 | 6d 64 2e 66 69 74 28 78 73 2c 78 74 29 20 20 20 20 20 20 20 23 20 66 69 74 20 64 69 73 74 72 69 | md.fit(xs,xt).......#.fit.distri |
2cc0 | 62 75 74 69 6f 6e 73 5c 6e 78 73 74 30 3d 64 61 5f 65 6d 64 2e 69 6e 74 65 72 70 28 29 20 20 20 | butions\nxst0=da_emd.interp()... |
2ce0 | 20 23 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 20 6f 66 20 73 6f 75 72 63 65 20 73 61 6d 70 6c | .#.interpolation.of.source.sampl |
2d00 | 65 73 5c 6e 5c 6e 5c 6e 23 20 73 69 6e 6b 68 6f 72 6e 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f | es\n\n\n#.sinkhorn.regularizatio |
2d20 | 6e 5c 6e 6c 61 6d 62 64 3d 31 65 2d 31 5c 6e 64 61 5f 65 6e 74 72 6f 70 3d 6f 74 2e 64 61 2e 4f | n\nlambd=1e-1\nda_entrop=ot.da.O |
2d40 | 54 44 41 5f 73 69 6e 6b 68 6f 72 6e 28 29 5c 6e 64 61 5f 65 6e 74 72 6f 70 2e 66 69 74 28 78 73 | TDA_sinkhorn()\nda_entrop.fit(xs |
2d60 | 2c 78 74 2c 72 65 67 3d 6c 61 6d 62 64 29 5c 6e 78 73 74 73 3d 64 61 5f 65 6e 74 72 6f 70 2e 69 | ,xt,reg=lambd)\nxsts=da_entrop.i |
2d80 | 6e 74 65 72 70 28 29 5c 6e 5c 6e 23 20 6e 6f 6e 2d 63 6f 6e 76 65 78 20 47 72 6f 75 70 20 6c 61 | nterp()\n\n#.non-convex.Group.la |
2da0 | 73 73 6f 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 5c 6e 72 65 67 3d 31 65 2d 31 5c 6e 65 74 | sso.regularization\nreg=1e-1\net |
2dc0 | 61 3d 31 65 30 5c 6e 64 61 5f 6c 70 6c 31 3d 6f 74 2e 64 61 2e 4f 54 44 41 5f 6c 70 6c 31 28 29 | a=1e0\nda_lpl1=ot.da.OTDA_lpl1() |
2de0 | 5c 6e 64 61 5f 6c 70 6c 31 2e 66 69 74 28 78 73 2c 79 73 2c 78 74 2c 72 65 67 3d 72 65 67 2c 65 | \nda_lpl1.fit(xs,ys,xt,reg=reg,e |
2e00 | 74 61 3d 65 74 61 29 5c 6e 78 73 74 67 3d 64 61 5f 6c 70 6c 31 2e 69 6e 74 65 72 70 28 29 5c 6e | ta=eta)\nxstg=da_lpl1.interp()\n |
2e20 | 5c 6e 5c 6e 23 20 54 72 75 65 20 47 72 6f 75 70 20 6c 61 73 73 6f 20 72 65 67 75 6c 61 72 69 7a | \n\n#.True.Group.lasso.regulariz |
2e40 | 61 74 69 6f 6e 5c 6e 72 65 67 3d 31 65 2d 31 5c 6e 65 74 61 3d 32 65 30 5c 6e 64 61 5f 6c 31 6c | ation\nreg=1e-1\neta=2e0\nda_l1l |
2e60 | 32 3d 6f 74 2e 64 61 2e 4f 54 44 41 5f 6c 31 6c 32 28 29 5c 6e 64 61 5f 6c 31 6c 32 2e 66 69 74 | 2=ot.da.OTDA_l1l2()\nda_l1l2.fit |
2e80 | 28 78 73 2c 79 73 2c 78 74 2c 72 65 67 3d 72 65 67 2c 65 74 61 3d 65 74 61 2c 6e 75 6d 49 74 65 | (xs,ys,xt,reg=reg,eta=eta,numIte |
2ea0 | 72 6d 61 78 3d 32 30 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 78 73 74 67 6c 3d 64 61 5f | rmax=20,verbose=True)\nxstgl=da_ |
2ec0 | 6c 31 6c 32 2e 69 6e 74 65 72 70 28 29 5c 6e 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 69 6e 74 65 | l1l2.interp()\n\n\n#%%.plot.inte |
2ee0 | 72 70 6f 6c 61 74 65 64 20 73 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 5c 6e 70 6c 2e 66 69 67 75 | rpolated.source.samples\npl.figu |
2f00 | 72 65 28 34 2c 28 31 35 2c 38 29 29 5c 6e 5c 6e 70 61 72 61 6d 5f 69 6d 67 3d 7b 27 69 6e 74 65 | re(4,(15,8))\n\nparam_img={'inte |
2f20 | 72 70 6f 6c 61 74 69 6f 6e 27 3a 27 6e 65 61 72 65 73 74 27 2c 27 63 6d 61 70 27 3a 27 6a 65 74 | rpolation':'nearest','cmap':'jet |
2f40 | 27 7d 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 34 2c 31 29 5c 6e 70 6c 2e 69 6d 73 68 | '}\n\npl.subplot(2,4,1)\npl.imsh |
2f60 | 6f 77 28 64 61 5f 65 6d 64 2e 47 2c 2a 2a 70 61 72 61 6d 5f 69 6d 67 29 5c 6e 70 6c 2e 74 69 74 | ow(da_emd.G,**param_img)\npl.tit |
2f80 | 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 27 29 5c 6e 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 | le('OT.matrix')\n\n\npl.subplot( |
2fa0 | 32 2c 34 2c 32 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 64 61 5f 65 6e 74 72 6f 70 2e 47 2c 2a 2a | 2,4,2)\npl.imshow(da_entrop.G,** |
2fc0 | 70 61 72 61 6d 5f 69 6d 67 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 20 | param_img)\npl.title('OT.matrix. |
2fe0 | 73 69 6e 6b 68 6f 72 6e 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 34 2c 33 29 5c | sinkhorn')\n\npl.subplot(2,4,3)\ |
3000 | 6e 70 6c 2e 69 6d 73 68 6f 77 28 64 61 5f 6c 70 6c 31 2e 47 2c 2a 2a 70 61 72 61 6d 5f 69 6d 67 | npl.imshow(da_lpl1.G,**param_img |
3020 | 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 20 6e 6f 6e 2d 63 6f 6e 76 65 | )\npl.title('OT.matrix.non-conve |
3040 | 78 20 47 72 6f 75 70 20 4c 61 73 73 6f 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c | x.Group.Lasso')\n\npl.subplot(2, |
3060 | 34 2c 34 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 64 61 5f 6c 31 6c 32 2e 47 2c 2a 2a 70 61 72 61 | 4,4)\npl.imshow(da_l1l2.G,**para |
3080 | 6d 5f 69 6d 67 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 20 47 72 6f 75 | m_img)\npl.title('OT.matrix.Grou |
30a0 | 70 20 4c 61 73 73 6f 27 29 5c 6e 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 34 2c 35 29 | p.Lasso')\n\n\npl.subplot(2,4,5) |
30c0 | 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 | \npl.scatter(xt[:,0],xt[:,1],c=y |
30e0 | 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c | t,marker='o',label='Target.sampl |
3100 | 65 73 27 2c 61 6c 70 68 61 3d 30 2e 33 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 30 5b | es',alpha=0.3)\npl.scatter(xst0[ |
3120 | 3a 2c 30 5d 2c 78 73 74 30 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c | :,0],xst0[:,1],c=ys,marker='+',l |
3140 | 61 62 65 6c 3d 27 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 73 3d 33 30 29 5c 6e 70 6c 2e | abel='Transp.samples',s=30)\npl. |
3160 | 74 69 74 6c 65 28 27 49 6e 74 65 72 70 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 | title('Interp.samples')\npl.lege |
3180 | 6e 64 28 6c 6f 63 3d 30 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 34 2c 36 29 5c 6e | nd(loc=0)\n\npl.subplot(2,4,6)\n |
31a0 | 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c | pl.scatter(xt[:,0],xt[:,1],c=yt, |
31c0 | 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 | marker='o',label='Target.samples |
31e0 | 27 2c 61 6c 70 68 61 3d 30 2e 33 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 73 5b 3a 2c | ',alpha=0.3)\npl.scatter(xsts[:, |
3200 | 30 5d 2c 78 73 74 73 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 | 0],xsts[:,1],c=ys,marker='+',lab |
3220 | 65 6c 3d 27 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 73 3d 33 30 29 5c 6e 70 6c 2e 74 69 | el='Transp.samples',s=30)\npl.ti |
3240 | 74 6c 65 28 27 49 6e 74 65 72 70 20 73 61 6d 70 6c 65 73 20 53 69 6e 6b 68 6f 72 6e 27 29 5c 6e | tle('Interp.samples.Sinkhorn')\n |
3260 | 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 34 2c 37 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 | \npl.subplot(2,4,7)\npl.scatter( |
3280 | 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c | xt[:,0],xt[:,1],c=yt,marker='o', |
32a0 | 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 61 6c 70 68 61 3d 30 2e 33 | label='Target.samples',alpha=0.3 |
32c0 | 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 67 5b 3a 2c 30 5d 2c 78 73 74 67 5b 3a 2c 31 | )\npl.scatter(xstg[:,0],xstg[:,1 |
32e0 | 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 54 72 61 6e 73 70 20 | ],c=ys,marker='+',label='Transp. |
3300 | 73 61 6d 70 6c 65 73 27 2c 73 3d 33 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6e 74 65 72 70 | samples',s=30)\npl.title('Interp |
3320 | 20 73 61 6d 70 6c 65 73 20 6e 6f 6e 2d 63 6f 6e 76 65 78 20 47 72 6f 75 70 20 4c 61 73 73 6f 27 | .samples.non-convex.Group.Lasso' |
3340 | 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 34 2c 38 29 5c 6e 70 6c 2e 73 63 61 74 74 | )\n\npl.subplot(2,4,8)\npl.scatt |
3360 | 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 | er(xt[:,0],xt[:,1],c=yt,marker=' |
3380 | 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 61 6c 70 68 61 3d | o',label='Target.samples',alpha= |
33a0 | 30 2e 33 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 67 6c 5b 3a 2c 30 5d 2c 78 73 74 67 | 0.3)\npl.scatter(xstgl[:,0],xstg |
33c0 | 6c 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 54 72 | l[:,1],c=ys,marker='+',label='Tr |
33e0 | 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 73 3d 33 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 | ansp.samples',s=30)\npl.title('I |
3400 | 6e 74 65 72 70 20 73 61 6d 70 6c 65 73 20 47 72 6f 75 70 20 4c 61 73 73 6f 27 29 22 0a 20 20 20 | nterp.samples.Group.Lasso')".... |
3420 | 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 | ...],........"outputs":.[],..... |
3440 | 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 | ..."metadata":.{........."collap |
3460 | 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 5d 2c 20 0a | sed":.false.......}.....}...],.. |
3480 | 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c 73 70 65 63 22 | .."metadata":.{....."kernelspec" |
34a0 | 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f | :.{......."display_name":."Pytho |
34c0 | 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 32 22 2c 20 | n.2",........"name":."python2",. |
34e0 | 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 0a 20 20 20 20 | ......."language":."python"..... |
3500 | 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 | },......"language_info":.{...... |
3520 | 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 20 0a 20 | ."mimetype":."text/x-python",... |
3540 | 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 22 70 79 74 68 | ....."nbconvert_exporter":."pyth |
3560 | 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 | on",........"name":."python",... |
3580 | 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 20 0a 20 | ....."file_extension":.".py",... |
35a0 | 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a 20 20 20 20 20 | ....."version":."2.7.12",....... |
35c0 | 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 32 22 2c 20 0a | ."pygments_lexer":."ipython2",.. |
35e0 | 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a 20 20 20 20 20 | ......"codemirror_mode":.{...... |
3600 | 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 | ..."version":.2,.........."name" |
3620 | 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 | :."ipython".......}.....}...}.}P |
3640 | 4b 03 04 14 00 00 00 00 00 b7 86 1e 4b 6b 88 21 84 aa 1d 00 00 aa 1d 00 00 20 00 00 00 61 75 74 | K...........Kk.!.............aut |
3660 | 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 6f 74 64 61 5f 64 32 2e 69 70 79 6e 62 7b 0a 20 | o_examples/plot_otda_d2.ipynb{.. |
3680 | 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 6e 62 66 6f 72 6d | ."nbformat_minor":.0,...."nbform |
36a0 | 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 | at":.4,...."cells":.[.....{..... |
36c0 | 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 | .."execution_count":.null,...... |
36e0 | 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 | .."cell_type":."code",........"s |
3700 | 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 74 70 6c 6f 74 6c 69 62 20 69 | ource":.[........."%matplotlib.i |
3720 | 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 | nline".......],........"outputs" |
3740 | 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 | :.[],........"metadata":.{...... |
3760 | 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 | ..."collapsed":.false.......}... |
3780 | 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 | ..},......{......."source":.[... |
37a0 | 20 20 20 20 20 20 22 5c 6e 23 20 4f 54 20 66 6f 72 20 65 6d 70 69 72 69 63 61 6c 20 64 69 73 74 | ......"\n#.OT.for.empirical.dist |
37c0 | 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e 5c 6e 54 68 69 73 20 65 78 61 6d 70 6c 65 20 69 6e 74 72 | ributions\n\n\nThis.example.intr |
37e0 | 6f 64 75 63 65 73 20 61 20 64 6f 6d 61 69 6e 20 61 64 61 70 74 61 74 69 6f 6e 20 69 6e 20 61 20 | oduces.a.domain.adaptation.in.a. |
3800 | 32 44 20 73 65 74 74 69 6e 67 2e 20 49 74 20 65 78 70 6c 69 63 69 74 73 5c 6e 74 68 65 20 70 72 | 2D.setting..It.explicits\nthe.pr |
3820 | 6f 62 6c 65 6d 20 6f 66 20 64 6f 6d 61 69 6e 20 61 64 61 70 74 61 74 69 6f 6e 20 61 6e 64 20 69 | oblem.of.domain.adaptation.and.i |
3840 | 6e 74 72 6f 64 75 63 65 73 20 73 6f 6d 65 20 6f 70 74 69 6d 61 6c 20 74 72 61 6e 73 70 6f 72 74 | ntroduces.some.optimal.transport |
3860 | 5c 6e 61 70 70 72 6f 61 63 68 65 73 20 74 6f 20 73 6f 6c 76 65 20 69 74 2e 5c 6e 5c 6e 51 75 61 | \napproaches.to.solve.it.\n\nQua |
3880 | 6e 74 69 74 69 65 73 20 73 75 63 68 20 61 73 20 6f 70 74 69 6d 61 6c 20 63 6f 75 70 6c 69 6e 67 | ntities.such.as.optimal.coupling |
38a0 | 73 2c 20 67 72 65 61 74 65 72 20 63 6f 75 70 6c 69 6e 67 20 63 6f 65 66 66 69 63 69 65 6e 74 73 | s,.greater.coupling.coefficients |
38c0 | 20 61 6e 64 5c 6e 74 72 61 6e 73 70 6f 72 74 65 64 20 73 61 6d 70 6c 65 73 20 61 72 65 20 72 65 | .and\ntransported.samples.are.re |
38e0 | 70 72 65 73 65 6e 74 65 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 67 69 76 65 20 61 20 76 69 73 | presented.in.order.to.give.a.vis |
3900 | 75 61 6c 20 75 6e 64 65 72 73 74 61 6e 64 69 6e 67 5c 6e 6f 66 20 77 68 61 74 20 74 68 65 20 74 | ual.understanding\nof.what.the.t |
3920 | 72 61 6e 73 70 6f 72 74 20 6d 65 74 68 6f 64 73 20 61 72 65 20 64 6f 69 6e 67 2e 5c 6e 5c 6e 22 | ransport.methods.are.doing.\n\n" |
3940 | 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d | .......],........"cell_type":."m |
3960 | 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a | arkdown",........"metadata":.{}. |
3980 | 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 | ....},......{......."execution_c |
39a0 | 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a | ount":.null,........"cell_type": |
39c0 | 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 | ."code",........"source":.[..... |
39e0 | 20 20 20 20 22 23 20 41 75 74 68 6f 72 73 3a 20 52 65 6d 69 20 46 6c 61 6d 61 72 79 20 3c 72 65 | ...."#.Authors:.Remi.Flamary.<re |
3a00 | 6d 69 2e 66 6c 61 6d 61 72 79 40 75 6e 69 63 65 2e 66 72 3e 5c 6e 23 20 20 20 20 20 20 20 20 20 | mi.flamary@unice.fr>\n#......... |
3a20 | 20 53 74 61 6e 69 73 6c 61 73 20 43 68 61 6d 62 6f 6e 20 3c 73 74 61 6e 2e 63 68 61 6d 62 6f 6e | .Stanislas.Chambon.<stan.chambon |
3a40 | 40 67 6d 61 69 6c 2e 63 6f 6d 3e 5c 6e 23 5c 6e 23 20 4c 69 63 65 6e 73 65 3a 20 4d 49 54 20 4c | @gmail.com>\n#\n#.License:.MIT.L |
3a60 | 69 63 65 6e 73 65 5c 6e 5c 6e 69 6d 70 6f 72 74 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 70 79 6c 61 | icense\n\nimport.matplotlib.pyla |
3a80 | 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 | b.as.pl\nimport.ot".......],.... |
3aa0 | 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 | ...."outputs":.[],........"metad |
3ac0 | 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c | ata":.{........."collapsed":.fal |
3ae0 | 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 | se.......}.....},......{......." |
3b00 | 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 67 65 6e 65 72 61 74 65 20 64 61 74 | source":.[........."generate.dat |
3b20 | 61 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | a\n############################# |
3b40 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
3b60 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a | ################\n\n".......],.. |
3b80 | 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a | ......"cell_type":."markdown",.. |
3ba0 | 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 | ......"metadata":.{}.....},..... |
3bc0 | 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c | .{......."execution_count":.null |
3be0 | 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 | ,........"cell_type":."code",... |
3c00 | 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 6e 5f 73 61 6d 70 | ....."source":.[........."n_samp |
3c20 | 6c 65 73 5f 73 6f 75 72 63 65 20 3d 20 31 35 30 5c 6e 6e 5f 73 61 6d 70 6c 65 73 5f 74 61 72 67 | les_source.=.150\nn_samples_targ |
3c40 | 65 74 20 3d 20 31 35 30 5c 6e 5c 6e 58 73 2c 20 79 73 20 3d 20 6f 74 2e 64 61 74 61 73 65 74 73 | et.=.150\n\nXs,.ys.=.ot.datasets |
3c60 | 2e 67 65 74 5f 64 61 74 61 5f 63 6c 61 73 73 69 66 28 27 33 67 61 75 73 73 27 2c 20 6e 5f 73 61 | .get_data_classif('3gauss',.n_sa |
3c80 | 6d 70 6c 65 73 5f 73 6f 75 72 63 65 29 5c 6e 58 74 2c 20 79 74 20 3d 20 6f 74 2e 64 61 74 61 73 | mples_source)\nXt,.yt.=.ot.datas |
3ca0 | 65 74 73 2e 67 65 74 5f 64 61 74 61 5f 63 6c 61 73 73 69 66 28 27 33 67 61 75 73 73 32 27 2c 20 | ets.get_data_classif('3gauss2',. |
3cc0 | 6e 5f 73 61 6d 70 6c 65 73 5f 74 61 72 67 65 74 29 5c 6e 5c 6e 23 20 43 6f 73 74 20 6d 61 74 72 | n_samples_target)\n\n#.Cost.matr |
3ce0 | 69 78 5c 6e 4d 20 3d 20 6f 74 2e 64 69 73 74 28 58 73 2c 20 58 74 2c 20 6d 65 74 72 69 63 3d 27 | ix\nM.=.ot.dist(Xs,.Xt,.metric=' |
3d00 | 73 71 65 75 63 6c 69 64 65 61 6e 27 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 | sqeuclidean')".......],........" |
3d20 | 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a | outputs":.[],........"metadata": |
3d40 | 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 | .{........."collapsed":.false... |
3d60 | 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 | ....}.....},......{......."sourc |
3d80 | 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 6e 73 74 61 6e 74 69 61 74 65 20 74 68 65 20 64 | e":.[........."Instantiate.the.d |
3da0 | 69 66 66 65 72 65 6e 74 20 74 72 61 6e 73 70 6f 72 74 20 61 6c 67 6f 72 69 74 68 6d 73 20 61 6e | ifferent.transport.algorithms.an |
3dc0 | 64 20 66 69 74 20 74 68 65 6d 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | d.fit.them\n#################### |
3de0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
3e00 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c 6e 22 0a 20 | #########################\n\n".. |
3e20 | 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 | .....],........"cell_type":."mar |
3e40 | 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 | kdown",........"metadata":.{}... |
3e60 | 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 | ..},......{......."execution_cou |
3e80 | 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 | nt":.null,........"cell_type":." |
3ea0 | 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 | code",........"source":.[....... |
3ec0 | 20 20 22 23 20 45 4d 44 20 54 72 61 6e 73 70 6f 72 74 5c 6e 6f 74 5f 65 6d 64 20 3d 20 6f 74 2e | .."#.EMD.Transport\not_emd.=.ot. |
3ee0 | 64 61 2e 45 4d 44 54 72 61 6e 73 70 6f 72 74 28 29 5c 6e 6f 74 5f 65 6d 64 2e 66 69 74 28 58 73 | da.EMDTransport()\not_emd.fit(Xs |
3f00 | 3d 58 73 2c 20 58 74 3d 58 74 29 5c 6e 5c 6e 23 20 53 69 6e 6b 68 6f 72 6e 20 54 72 61 6e 73 70 | =Xs,.Xt=Xt)\n\n#.Sinkhorn.Transp |
3f20 | 6f 72 74 5c 6e 6f 74 5f 73 69 6e 6b 68 6f 72 6e 20 3d 20 6f 74 2e 64 61 2e 53 69 6e 6b 68 6f 72 | ort\not_sinkhorn.=.ot.da.Sinkhor |
3f40 | 6e 54 72 61 6e 73 70 6f 72 74 28 72 65 67 5f 65 3d 31 65 2d 31 29 5c 6e 6f 74 5f 73 69 6e 6b 68 | nTransport(reg_e=1e-1)\not_sinkh |
3f60 | 6f 72 6e 2e 66 69 74 28 58 73 3d 58 73 2c 20 58 74 3d 58 74 29 5c 6e 5c 6e 23 20 53 69 6e 6b 68 | orn.fit(Xs=Xs,.Xt=Xt)\n\n#.Sinkh |
3f80 | 6f 72 6e 20 54 72 61 6e 73 70 6f 72 74 20 77 69 74 68 20 47 72 6f 75 70 20 6c 61 73 73 6f 20 72 | orn.Transport.with.Group.lasso.r |
3fa0 | 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 5c 6e 6f 74 5f 6c 70 6c 31 20 3d 20 6f 74 2e 64 61 2e 53 | egularization\not_lpl1.=.ot.da.S |
3fc0 | 69 6e 6b 68 6f 72 6e 4c 70 6c 31 54 72 61 6e 73 70 6f 72 74 28 72 65 67 5f 65 3d 31 65 2d 31 2c | inkhornLpl1Transport(reg_e=1e-1, |
3fe0 | 20 72 65 67 5f 63 6c 3d 31 65 30 29 5c 6e 6f 74 5f 6c 70 6c 31 2e 66 69 74 28 58 73 3d 58 73 2c | .reg_cl=1e0)\not_lpl1.fit(Xs=Xs, |
4000 | 20 79 73 3d 79 73 2c 20 58 74 3d 58 74 29 5c 6e 5c 6e 23 20 74 72 61 6e 73 70 6f 72 74 20 73 6f | .ys=ys,.Xt=Xt)\n\n#.transport.so |
4020 | 75 72 63 65 20 73 61 6d 70 6c 65 73 20 6f 6e 74 6f 20 74 61 72 67 65 74 20 73 61 6d 70 6c 65 73 | urce.samples.onto.target.samples |
4040 | 5c 6e 74 72 61 6e 73 70 5f 58 73 5f 65 6d 64 20 3d 20 6f 74 5f 65 6d 64 2e 74 72 61 6e 73 66 6f | \ntransp_Xs_emd.=.ot_emd.transfo |
4060 | 72 6d 28 58 73 3d 58 73 29 5c 6e 74 72 61 6e 73 70 5f 58 73 5f 73 69 6e 6b 68 6f 72 6e 20 3d 20 | rm(Xs=Xs)\ntransp_Xs_sinkhorn.=. |
4080 | 6f 74 5f 73 69 6e 6b 68 6f 72 6e 2e 74 72 61 6e 73 66 6f 72 6d 28 58 73 3d 58 73 29 5c 6e 74 72 | ot_sinkhorn.transform(Xs=Xs)\ntr |
40a0 | 61 6e 73 70 5f 58 73 5f 6c 70 6c 31 20 3d 20 6f 74 5f 6c 70 6c 31 2e 74 72 61 6e 73 66 6f 72 6d | ansp_Xs_lpl1.=.ot_lpl1.transform |
40c0 | 28 58 73 3d 58 73 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 | (Xs=Xs)".......],........"output |
40e0 | 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 | s":.[],........"metadata":.{.... |
4100 | 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a | ....."collapsed":.false.......}. |
4120 | 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a | ....},......{......."source":.[. |
4140 | 20 20 20 20 20 20 20 20 22 46 69 67 20 31 20 3a 20 70 6c 6f 74 73 20 73 6f 75 72 63 65 20 61 6e | ........"Fig.1.:.plots.source.an |
4160 | 64 20 74 61 72 67 65 74 20 73 61 6d 70 6c 65 73 20 2b 20 6d 61 74 72 69 78 20 6f 66 20 70 61 69 | d.target.samples.+.matrix.of.pai |
4180 | 72 77 69 73 65 20 64 69 73 74 61 6e 63 65 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | rwise.distance\n################ |
41a0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
41c0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c | #############################\n\ |
41e0 | 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 | n".......],........"cell_type":. |
4200 | 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b | "markdown",........"metadata":.{ |
4220 | 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e | }.....},......{......."execution |
4240 | 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 | _count":.null,........"cell_type |
4260 | 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 | ":."code",........"source":.[... |
4280 | 20 20 20 20 20 20 22 70 6c 2e 66 69 67 75 72 65 28 31 2c 20 66 69 67 73 69 7a 65 3d 28 31 30 2c | ......"pl.figure(1,.figsize=(10, |
42a0 | 20 31 30 29 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 32 2c 20 31 29 5c 6e 70 6c 2e 73 | .10))\npl.subplot(2,.2,.1)\npl.s |
42c0 | 63 61 74 74 65 72 28 58 73 5b 3a 2c 20 30 5d 2c 20 58 73 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c | catter(Xs[:,.0],.Xs[:,.1],.c=ys, |
42e0 | 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c | .marker='+',.label='Source.sampl |
4300 | 65 73 27 29 5c 6e 70 6c 2e 78 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b | es')\npl.xticks([])\npl.yticks([ |
4320 | 5d 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 | ])\npl.legend(loc=0)\npl.title(' |
4340 | 53 6f 75 72 63 65 20 20 73 61 6d 70 6c 65 73 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 | Source..samples')\n\npl.subplot( |
4360 | 32 2c 20 32 2c 20 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 74 5b 3a 2c 20 30 5d 2c 20 58 | 2,.2,.2)\npl.scatter(Xt[:,.0],.X |
4380 | 74 5b 3a 2c 20 31 5d 2c 20 63 3d 79 74 2c 20 6d 61 72 6b 65 72 3d 27 6f 27 2c 20 6c 61 62 65 6c | t[:,.1],.c=yt,.marker='o',.label |
43a0 | 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 78 74 69 63 6b 73 28 5b 5d | ='Target.samples')\npl.xticks([] |
43c0 | 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d | )\npl.yticks([])\npl.legend(loc= |
43e0 | 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e | 0)\npl.title('Target.samples')\n |
4400 | 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 32 2c 20 33 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 | \npl.subplot(2,.2,.3)\npl.imshow |
4420 | 28 4d 2c 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 70 6c | (M,.interpolation='nearest')\npl |
4440 | 2e 78 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 74 | .xticks([])\npl.yticks([])\npl.t |
4460 | 69 74 6c 65 28 27 4d 61 74 72 69 78 20 6f 66 20 70 61 69 72 77 69 73 65 20 64 69 73 74 61 6e 63 | itle('Matrix.of.pairwise.distanc |
4480 | 65 73 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 22 0a 20 20 20 20 20 20 5d | es')\npl.tight_layout()".......] |
44a0 | 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 | ,........"outputs":.[],........" |
44c0 | 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 | metadata":.{........."collapsed" |
44e0 | 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 | :.false.......}.....},......{... |
4500 | 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 69 67 20 32 20 3a | ...."source":.[........."Fig.2.: |
4520 | 20 70 6c 6f 74 73 20 6f 70 74 69 6d 61 6c 20 63 6f 75 70 6c 69 6e 67 73 20 66 6f 72 20 74 68 65 | .plots.optimal.couplings.for.the |
4540 | 20 64 69 66 66 65 72 65 6e 74 20 6d 65 74 68 6f 64 73 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 | .different.methods\n############ |
4560 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
4580 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
45a0 | 23 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 | #\n\n".......],........"cell_typ |
45c0 | 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 | e":."markdown",........"metadata |
45e0 | 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 | ":.{}.....},......{......."execu |
4600 | 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f | tion_count":.null,........"cell_ |
4620 | 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 | type":."code",........"source":. |
4640 | 5b 0a 20 20 20 20 20 20 20 20 22 70 6c 2e 66 69 67 75 72 65 28 32 2c 20 66 69 67 73 69 7a 65 3d | [........."pl.figure(2,.figsize= |
4660 | 28 31 30 2c 20 36 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 33 2c 20 31 29 5c | (10,.6))\n\npl.subplot(2,.3,.1)\ |
4680 | 6e 70 6c 2e 69 6d 73 68 6f 77 28 6f 74 5f 65 6d 64 2e 63 6f 75 70 6c 69 6e 67 5f 2c 20 69 6e 74 | npl.imshow(ot_emd.coupling_,.int |
46a0 | 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 70 6c 2e 78 74 69 63 6b 73 | erpolation='nearest')\npl.xticks |
46c0 | 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f | ([])\npl.yticks([])\npl.title('O |
46e0 | 70 74 69 6d 61 6c 20 63 6f 75 70 6c 69 6e 67 5c 5c 6e 45 4d 44 54 72 61 6e 73 70 6f 72 74 27 29 | ptimal.coupling\\nEMDTransport') |
4700 | 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 33 2c 20 32 29 5c 6e 70 6c 2e 69 6d 73 68 | \n\npl.subplot(2,.3,.2)\npl.imsh |
4720 | 6f 77 28 6f 74 5f 73 69 6e 6b 68 6f 72 6e 2e 63 6f 75 70 6c 69 6e 67 5f 2c 20 69 6e 74 65 72 70 | ow(ot_sinkhorn.coupling_,.interp |
4740 | 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 70 6c 2e 78 74 69 63 6b 73 28 5b 5d | olation='nearest')\npl.xticks([] |
4760 | 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 70 74 69 | )\npl.yticks([])\npl.title('Opti |
4780 | 6d 61 6c 20 63 6f 75 70 6c 69 6e 67 5c 5c 6e 53 69 6e 6b 68 6f 72 6e 54 72 61 6e 73 70 6f 72 74 | mal.coupling\\nSinkhornTransport |
47a0 | 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 33 2c 20 33 29 5c 6e 70 6c 2e 69 6d | ')\n\npl.subplot(2,.3,.3)\npl.im |
47c0 | 73 68 6f 77 28 6f 74 5f 6c 70 6c 31 2e 63 6f 75 70 6c 69 6e 67 5f 2c 20 69 6e 74 65 72 70 6f 6c | show(ot_lpl1.coupling_,.interpol |
47e0 | 61 74 69 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 70 6c 2e 78 74 69 63 6b 73 28 5b 5d 29 5c | ation='nearest')\npl.xticks([])\ |
4800 | 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 70 74 69 6d 61 | npl.yticks([])\npl.title('Optima |
4820 | 6c 20 63 6f 75 70 6c 69 6e 67 5c 5c 6e 53 69 6e 6b 68 6f 72 6e 4c 70 6c 31 54 72 61 6e 73 70 6f | l.coupling\\nSinkhornLpl1Transpo |
4840 | 72 74 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 33 2c 20 34 29 5c 6e 6f 74 2e | rt')\n\npl.subplot(2,.3,.4)\not. |
4860 | 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 6c 65 73 5f 6d 61 74 28 58 73 2c 20 58 74 2c 20 | plot.plot2D_samples_mat(Xs,.Xt,. |
4880 | 6f 74 5f 65 6d 64 2e 63 6f 75 70 6c 69 6e 67 5f 2c 20 63 3d 5b 2e 35 2c 20 2e 35 2c 20 31 5d 29 | ot_emd.coupling_,.c=[.5,..5,.1]) |
48a0 | 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 73 5b 3a 2c 20 30 5d 2c 20 58 73 5b 3a 2c 20 31 5d 2c | \npl.scatter(Xs[:,.0],.Xs[:,.1], |
48c0 | 20 63 3d 79 73 2c 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 | .c=ys,.marker='+',.label='Source |
48e0 | 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 74 5b 3a 2c 20 30 5d 2c | .samples')\npl.scatter(Xt[:,.0], |
4900 | 20 58 74 5b 3a 2c 20 31 5d 2c 20 63 3d 79 74 2c 20 6d 61 72 6b 65 72 3d 27 6f 27 2c 20 6c 61 62 | .Xt[:,.1],.c=yt,.marker='o',.lab |
4920 | 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 78 74 69 63 6b 73 28 | el='Target.samples')\npl.xticks( |
4940 | 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4d 61 | [])\npl.yticks([])\npl.title('Ma |
4960 | 69 6e 20 63 6f 75 70 6c 69 6e 67 20 63 6f 65 66 66 69 63 69 65 6e 74 73 5c 5c 6e 45 4d 44 54 72 | in.coupling.coefficients\\nEMDTr |
4980 | 61 6e 73 70 6f 72 74 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 33 2c 20 35 29 | ansport')\n\npl.subplot(2,.3,.5) |
49a0 | 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 6c 65 73 5f 6d 61 74 28 58 73 2c | \not.plot.plot2D_samples_mat(Xs, |
49c0 | 20 58 74 2c 20 6f 74 5f 73 69 6e 6b 68 6f 72 6e 2e 63 6f 75 70 6c 69 6e 67 5f 2c 20 63 3d 5b 2e | .Xt,.ot_sinkhorn.coupling_,.c=[. |
49e0 | 35 2c 20 2e 35 2c 20 31 5d 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 73 5b 3a 2c 20 30 5d 2c | 5,..5,.1])\npl.scatter(Xs[:,.0], |
4a00 | 20 58 73 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 | .Xs[:,.1],.c=ys,.marker='+',.lab |
4a20 | 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 | el='Source.samples')\npl.scatter |
4a40 | 28 58 74 5b 3a 2c 20 30 5d 2c 20 58 74 5b 3a 2c 20 31 5d 2c 20 63 3d 79 74 2c 20 6d 61 72 6b 65 | (Xt[:,.0],.Xt[:,.1],.c=yt,.marke |
4a60 | 72 3d 27 6f 27 2c 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e | r='o',.label='Target.samples')\n |
4a80 | 70 6c 2e 78 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c | pl.xticks([])\npl.yticks([])\npl |
4aa0 | 2e 74 69 74 6c 65 28 27 4d 61 69 6e 20 63 6f 75 70 6c 69 6e 67 20 63 6f 65 66 66 69 63 69 65 6e | .title('Main.coupling.coefficien |
4ac0 | 74 73 5c 5c 6e 53 69 6e 6b 68 6f 72 6e 54 72 61 6e 73 70 6f 72 74 27 29 5c 6e 5c 6e 70 6c 2e 73 | ts\\nSinkhornTransport')\n\npl.s |
4ae0 | 75 62 70 6c 6f 74 28 32 2c 20 33 2c 20 36 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f | ubplot(2,.3,.6)\not.plot.plot2D_ |
4b00 | 73 61 6d 70 6c 65 73 5f 6d 61 74 28 58 73 2c 20 58 74 2c 20 6f 74 5f 6c 70 6c 31 2e 63 6f 75 70 | samples_mat(Xs,.Xt,.ot_lpl1.coup |
4b20 | 6c 69 6e 67 5f 2c 20 63 3d 5b 2e 35 2c 20 2e 35 2c 20 31 5d 29 5c 6e 70 6c 2e 73 63 61 74 74 65 | ling_,.c=[.5,..5,.1])\npl.scatte |
4b40 | 72 28 58 73 5b 3a 2c 20 30 5d 2c 20 58 73 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c 20 6d 61 72 6b | r(Xs[:,.0],.Xs[:,.1],.c=ys,.mark |
4b60 | 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c | er='+',.label='Source.samples')\ |
4b80 | 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 74 5b 3a 2c 20 30 5d 2c 20 58 74 5b 3a 2c 20 31 5d 2c 20 | npl.scatter(Xt[:,.0],.Xt[:,.1],. |
4ba0 | 63 3d 79 74 2c 20 6d 61 72 6b 65 72 3d 27 6f 27 2c 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 | c=yt,.marker='o',.label='Target. |
4bc0 | 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 78 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 | samples')\npl.xticks([])\npl.yti |
4be0 | 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4d 61 69 6e 20 63 6f 75 70 6c 69 6e 67 | cks([])\npl.title('Main.coupling |
4c00 | 20 63 6f 65 66 66 69 63 69 65 6e 74 73 5c 5c 6e 53 69 6e 6b 68 6f 72 6e 4c 70 6c 31 54 72 61 6e | .coefficients\\nSinkhornLpl1Tran |
4c20 | 73 70 6f 72 74 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 22 0a 20 20 20 20 | sport')\npl.tight_layout()"..... |
4c40 | 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 | ..],........"outputs":.[],...... |
4c60 | 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 | .."metadata":.{........."collaps |
4c80 | 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b | ed":.false.......}.....},......{ |
4ca0 | 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 69 67 20 | ......."source":.[........."Fig. |
4cc0 | 33 20 3a 20 70 6c 6f 74 20 74 72 61 6e 73 70 6f 72 74 65 64 20 73 61 6d 70 6c 65 73 5c 6e 23 23 | 3.:.plot.transported.samples\n## |
4ce0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
4d00 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
4d20 | 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 | ###########\n\n".......],....... |
4d40 | 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 | ."cell_type":."markdown",....... |
4d60 | 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 | ."metadata":.{}.....},......{... |
4d80 | 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 | ...."execution_count":.null,.... |
4da0 | 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 | ...."cell_type":."code",........ |
4dc0 | 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 20 64 69 73 70 6c 61 79 20 74 | "source":.[........."#.display.t |
4de0 | 72 61 6e 73 70 6f 72 74 65 64 20 73 61 6d 70 6c 65 73 5c 6e 70 6c 2e 66 69 67 75 72 65 28 34 2c | ransported.samples\npl.figure(4, |
4e00 | 20 66 69 67 73 69 7a 65 3d 28 31 30 2c 20 34 29 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c | .figsize=(10,.4))\npl.subplot(1, |
4e20 | 20 33 2c 20 31 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 74 5b 3a 2c 20 30 5d 2c 20 58 74 5b | .3,.1)\npl.scatter(Xt[:,.0],.Xt[ |
4e40 | 3a 2c 20 31 5d 2c 20 63 3d 79 74 2c 20 6d 61 72 6b 65 72 3d 27 6f 27 2c 5c 6e 20 20 20 20 20 20 | :,.1],.c=yt,.marker='o',\n...... |
4e60 | 20 20 20 20 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 20 61 6c 70 | .....label='Target.samples',.alp |
4e80 | 68 61 3d 30 2e 35 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 74 72 61 6e 73 70 5f 58 73 5f 65 6d | ha=0.5)\npl.scatter(transp_Xs_em |
4ea0 | 64 5b 3a 2c 20 30 5d 2c 20 74 72 61 6e 73 70 5f 58 73 5f 65 6d 64 5b 3a 2c 20 31 5d 2c 20 63 3d | d[:,.0],.transp_Xs_emd[:,.1],.c= |
4ec0 | 79 73 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 | ys,\n...........marker='+',.labe |
4ee0 | 6c 3d 27 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 20 73 3d 33 30 29 5c 6e 70 6c 2e 74 69 | l='Transp.samples',.s=30)\npl.ti |
4f00 | 74 6c 65 28 27 54 72 61 6e 73 70 6f 72 74 65 64 20 73 61 6d 70 6c 65 73 5c 5c 6e 45 6d 64 54 72 | tle('Transported.samples\\nEmdTr |
4f20 | 61 6e 73 70 6f 72 74 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c 2e | ansport')\npl.legend(loc=0)\npl. |
4f40 | 78 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 5c 6e 70 6c 2e | xticks([])\npl.yticks([])\n\npl. |
4f60 | 73 75 62 70 6c 6f 74 28 31 2c 20 33 2c 20 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 74 5b | subplot(1,.3,.2)\npl.scatter(Xt[ |
4f80 | 3a 2c 20 30 5d 2c 20 58 74 5b 3a 2c 20 31 5d 2c 20 63 3d 79 74 2c 20 6d 61 72 6b 65 72 3d 27 6f | :,.0],.Xt[:,.1],.c=yt,.marker='o |
4fa0 | 27 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d | ',\n...........label='Target.sam |
4fc0 | 70 6c 65 73 27 2c 20 61 6c 70 68 61 3d 30 2e 35 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 74 72 | ples',.alpha=0.5)\npl.scatter(tr |
4fe0 | 61 6e 73 70 5f 58 73 5f 73 69 6e 6b 68 6f 72 6e 5b 3a 2c 20 30 5d 2c 20 74 72 61 6e 73 70 5f 58 | ansp_Xs_sinkhorn[:,.0],.transp_X |
5000 | 73 5f 73 69 6e 6b 68 6f 72 6e 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c 5c 6e 20 20 20 20 20 20 20 | s_sinkhorn[:,.1],.c=ys,\n....... |
5020 | 20 20 20 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 54 72 61 6e 73 70 20 73 61 | ....marker='+',.label='Transp.sa |
5040 | 6d 70 6c 65 73 27 2c 20 73 3d 33 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 54 72 61 6e 73 70 6f | mples',.s=30)\npl.title('Transpo |
5060 | 72 74 65 64 20 73 61 6d 70 6c 65 73 5c 5c 6e 53 69 6e 6b 68 6f 72 6e 54 72 61 6e 73 70 6f 72 74 | rted.samples\\nSinkhornTransport |
5080 | 27 29 5c 6e 70 6c 2e 78 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 | ')\npl.xticks([])\npl.yticks([]) |
50a0 | 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 33 2c 20 33 29 5c 6e 70 6c 2e 73 63 61 74 | \n\npl.subplot(1,.3,.3)\npl.scat |
50c0 | 74 65 72 28 58 74 5b 3a 2c 20 30 5d 2c 20 58 74 5b 3a 2c 20 31 5d 2c 20 63 3d 79 74 2c 20 6d 61 | ter(Xt[:,.0],.Xt[:,.1],.c=yt,.ma |
50e0 | 72 6b 65 72 3d 27 6f 27 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 6c 61 62 65 6c 3d 27 54 61 72 | rker='o',\n...........label='Tar |
5100 | 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 20 61 6c 70 68 61 3d 30 2e 35 29 5c 6e 70 6c 2e 73 63 61 | get.samples',.alpha=0.5)\npl.sca |
5120 | 74 74 65 72 28 74 72 61 6e 73 70 5f 58 73 5f 6c 70 6c 31 5b 3a 2c 20 30 5d 2c 20 74 72 61 6e 73 | tter(transp_Xs_lpl1[:,.0],.trans |
5140 | 70 5f 58 73 5f 6c 70 6c 31 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c 5c 6e 20 20 20 20 20 20 20 20 | p_Xs_lpl1[:,.1],.c=ys,\n........ |
5160 | 20 20 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 54 72 61 6e 73 70 20 73 61 6d | ...marker='+',.label='Transp.sam |
5180 | 70 6c 65 73 27 2c 20 73 3d 33 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 54 72 61 6e 73 70 6f 72 | ples',.s=30)\npl.title('Transpor |
51a0 | 74 65 64 20 73 61 6d 70 6c 65 73 5c 5c 6e 53 69 6e 6b 68 6f 72 6e 4c 70 6c 31 54 72 61 6e 73 70 | ted.samples\\nSinkhornLpl1Transp |
51c0 | 6f 72 74 27 29 5c 6e 70 6c 2e 78 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 | ort')\npl.xticks([])\npl.yticks( |
51e0 | 5b 5d 29 5c 6e 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 5c 6e 70 6c 2e 73 68 6f | [])\n\npl.tight_layout()\npl.sho |
5200 | 77 28 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 | w()".......],........"outputs":. |
5220 | 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 | [],........"metadata":.{........ |
5240 | 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 | ."collapsed":.false.......}..... |
5260 | 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 | }...],...."metadata":.{....."ker |
5280 | 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 | nelspec":.{......."display_name" |
52a0 | 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 | :."Python.2",........"name":."py |
52c0 | 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 | thon2",........"language":."pyth |
52e0 | 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a | on".....},......"language_info": |
5300 | 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 | .{......."mimetype":."text/x-pyt |
5320 | 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 | hon",........"nbconvert_exporter |
5340 | 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 | ":."python",........"name":."pyt |
5360 | 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 | hon",........"file_extension":." |
5380 | 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 | .py",........"version":."2.7.12" |
53a0 | 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 | ,........"pygments_lexer":."ipyt |
53c0 | 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a | hon2",........"codemirror_mode": |
53e0 | 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 | .{........."version":.2,........ |
5400 | 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 | .."name":."ipython".......}..... |
5420 | 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 f4 83 1e 4b 0b 8e f3 56 28 08 00 00 28 08 00 | }...}.}PK...........K...V(...(.. |
5440 | 00 1e 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 5f 31 44 2e 69 70 | .....auto_examples/plot_OT_1D.ip |
5460 | 79 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 | ynb{..."nbformat_minor":.0,...." |
5480 | 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 | nbformat":.4,...."cells":.[..... |
54a0 | 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c | {......."execution_count":.null, |
54c0 | 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 | ........"cell_type":."code",.... |
54e0 | 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 74 70 6c 6f | ...."source":.[........."%matplo |
5500 | 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 | tlib.inline".......],........"ou |
5520 | 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b | tputs":.[],........"metadata":.{ |
5540 | 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 | ........."collapsed":.false..... |
5560 | 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 | ..}.....},......{......."source" |
5580 | 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 23 20 31 44 20 6f 70 74 69 6d 61 6c 20 74 72 61 6e | :.[........."\n#.1D.optimal.tran |
55a0 | 73 70 6f 72 74 5c 6e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 | sport\n\n\n\n".......],........" |
55c0 | 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 | cell_type":."markdown",........" |
55e0 | 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 | metadata":.{}.....},......{..... |
5600 | 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 | .."execution_count":.null,...... |
5620 | 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 | .."cell_type":."code",........"s |
5640 | 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 20 41 75 74 68 6f 72 3a 20 52 65 6d | ource":.[........."#.Author:.Rem |
5660 | 69 20 46 6c 61 6d 61 72 79 20 3c 72 65 6d 69 2e 66 6c 61 6d 61 72 79 40 75 6e 69 63 65 2e 66 72 | i.Flamary.<remi.flamary@unice.fr |
5680 | 3e 5c 6e 23 5c 6e 23 20 4c 69 63 65 6e 73 65 3a 20 4d 49 54 20 4c 69 63 65 6e 73 65 5c 6e 5c 6e | >\n#\n#.License:.MIT.License\n\n |
56a0 | 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 6d 61 74 70 6c | import.numpy.as.np\nimport.matpl |
56c0 | 6f 74 6c 69 62 2e 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 66 72 | otlib.pylab.as.pl\nimport.ot\nfr |
56e0 | 6f 6d 20 6f 74 2e 64 61 74 61 73 65 74 73 20 69 6d 70 6f 72 74 20 67 65 74 5f 31 44 5f 67 61 75 | om.ot.datasets.import.get_1D_gau |
5700 | 73 73 20 61 73 20 67 61 75 73 73 5c 6e 5c 6e 23 25 25 20 70 61 72 61 6d 65 74 65 72 73 5c 6e 5c | ss.as.gauss\n\n#%%.parameters\n\ |
5720 | 6e 6e 20 3d 20 31 30 30 20 20 23 20 6e 62 20 62 69 6e 73 5c 6e 5c 6e 23 20 62 69 6e 20 70 6f 73 | nn.=.100..#.nb.bins\n\n#.bin.pos |
5740 | 69 74 69 6f 6e 73 5c 6e 78 20 3d 20 6e 70 2e 61 72 61 6e 67 65 28 6e 2c 20 64 74 79 70 65 3d 6e | itions\nx.=.np.arange(n,.dtype=n |
5760 | 70 2e 66 6c 6f 61 74 36 34 29 5c 6e 5c 6e 23 20 47 61 75 73 73 69 61 6e 20 64 69 73 74 72 69 62 | p.float64)\n\n#.Gaussian.distrib |
5780 | 75 74 69 6f 6e 73 5c 6e 61 20 3d 20 67 61 75 73 73 28 6e 2c 20 6d 3d 32 30 2c 20 73 3d 35 29 20 | utions\na.=.gauss(n,.m=20,.s=5). |
57a0 | 20 23 20 6d 3d 20 6d 65 61 6e 2c 20 73 3d 20 73 74 64 5c 6e 62 20 3d 20 67 61 75 73 73 28 6e 2c | .#.m=.mean,.s=.std\nb.=.gauss(n, |
57c0 | 20 6d 3d 36 30 2c 20 73 3d 31 30 29 5c 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 4d | .m=60,.s=10)\n\n#.loss.matrix\nM |
57e0 | 20 3d 20 6f 74 2e 64 69 73 74 28 78 2e 72 65 73 68 61 70 65 28 28 6e 2c 20 31 29 29 2c 20 78 2e | .=.ot.dist(x.reshape((n,.1)),.x. |
5800 | 72 65 73 68 61 70 65 28 28 6e 2c 20 31 29 29 29 5c 6e 4d 20 2f 3d 20 4d 2e 6d 61 78 28 29 5c 6e | reshape((n,.1)))\nM./=.M.max()\n |
5820 | 5c 6e 23 25 25 20 70 6c 6f 74 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e | \n#%%.plot.the.distributions\n\n |
5840 | 70 6c 2e 66 69 67 75 72 65 28 31 2c 20 66 69 67 73 69 7a 65 3d 28 36 2e 34 2c 20 33 29 29 5c 6e | pl.figure(1,.figsize=(6.4,.3))\n |
5860 | 70 6c 2e 70 6c 6f 74 28 78 2c 20 61 2c 20 27 62 27 2c 20 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 | pl.plot(x,.a,.'b',.label='Source |
5880 | 20 64 69 73 74 72 69 62 75 74 69 6f 6e 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 20 62 2c 20 27 | .distribution')\npl.plot(x,.b,.' |
58a0 | 72 27 2c 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 27 29 | r',.label='Target.distribution') |
58c0 | 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 29 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 64 69 73 74 72 69 | \npl.legend()\n\n#%%.plot.distri |
58e0 | 62 75 74 69 6f 6e 73 20 61 6e 64 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 5c 6e 70 6c 2e 66 69 | butions.and.loss.matrix\n\npl.fi |
5900 | 67 75 72 65 28 32 2c 20 66 69 67 73 69 7a 65 3d 28 35 2c 20 35 29 29 5c 6e 6f 74 2e 70 6c 6f 74 | gure(2,.figsize=(5,.5))\not.plot |
5920 | 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 20 62 2c 20 4d 2c 20 27 43 6f 73 74 20 6d 61 74 72 69 | .plot1D_mat(a,.b,.M,.'Cost.matri |
5940 | 78 20 4d 27 29 5c 6e 5c 6e 23 25 25 20 45 4d 44 5c 6e 5c 6e 47 30 20 3d 20 6f 74 2e 65 6d 64 28 | x.M')\n\n#%%.EMD\n\nG0.=.ot.emd( |
5960 | 61 2c 20 62 2c 20 4d 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 33 2c 20 66 69 67 73 69 7a 65 | a,.b,.M)\n\npl.figure(3,.figsize |
5980 | 3d 28 35 2c 20 35 29 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 20 | =(5,.5))\not.plot.plot1D_mat(a,. |
59a0 | 62 2c 20 47 30 2c 20 27 4f 54 20 6d 61 74 72 69 78 20 47 30 27 29 5c 6e 5c 6e 23 25 25 20 53 69 | b,.G0,.'OT.matrix.G0')\n\n#%%.Si |
59c0 | 6e 6b 68 6f 72 6e 5c 6e 5c 6e 6c 61 6d 62 64 20 3d 20 31 65 2d 33 5c 6e 47 73 20 3d 20 6f 74 2e | nkhorn\n\nlambd.=.1e-3\nGs.=.ot. |
59e0 | 73 69 6e 6b 68 6f 72 6e 28 61 2c 20 62 2c 20 4d 2c 20 6c 61 6d 62 64 2c 20 76 65 72 62 6f 73 65 | sinkhorn(a,.b,.M,.lambd,.verbose |
5a00 | 3d 54 72 75 65 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 34 2c 20 66 69 67 73 69 7a 65 3d 28 | =True)\n\npl.figure(4,.figsize=( |
5a20 | 35 2c 20 35 29 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 20 62 2c | 5,.5))\not.plot.plot1D_mat(a,.b, |
5a40 | 20 47 73 2c 20 27 4f 54 20 6d 61 74 72 69 78 20 53 69 6e 6b 68 6f 72 6e 27 29 5c 6e 5c 6e 70 6c | .Gs,.'OT.matrix.Sinkhorn')\n\npl |
5a60 | 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 | .show()".......],........"output |
5a80 | 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 | s":.[],........"metadata":.{.... |
5aa0 | 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a | ....."collapsed":.false.......}. |
5ac0 | 20 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 | ....}...],...."metadata":.{..... |
5ae0 | 22 6b 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e | "kernelspec":.{......."display_n |
5b00 | 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a | ame":."Python.2",........"name": |
5b20 | 20 22 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 | ."python2",........"language":." |
5b40 | 70 79 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e | python".....},......"language_in |
5b60 | 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 | fo":.{......."mimetype":."text/x |
5b80 | 2d 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f | -python",........"nbconvert_expo |
5ba0 | 72 74 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 | rter":."python",........"name":. |
5bc0 | 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e | "python",........"file_extension |
5be0 | 22 3a 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 | ":.".py",........"version":."2.7 |
5c00 | 2e 31 32 22 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 | .12",........"pygments_lexer":." |
5c20 | 69 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f | ipython2",........"codemirror_mo |
5c40 | 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 | de":.{........."version":.2,.... |
5c60 | 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a | ......"name":."ipython".......}. |
5c80 | 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 32 82 e3 4a 48 a2 ab 22 f5 14 00 | ....}...}.}PK........2..JH.."... |
5ca0 | 00 f5 14 00 00 20 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 5f 63 | .........auto_examples/plot_OT_c |
5cc0 | 6f 6e 76 2e 69 70 79 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 | onv.ipynb{..."nbformat_minor":.0 |
5ce0 | 2c 20 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 | ,...."nbformat":.4,...."cells":. |
5d00 | 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a | [.....{......."execution_count": |
5d20 | 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 | .null,........"cell_type":."code |
5d40 | 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 | ",........"source":.[........."% |
5d60 | 6d 61 74 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 | matplotlib.inline".......],..... |
5d80 | 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 | ..."outputs":.[],........"metada |
5da0 | 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 | ta":.{........."collapsed":.fals |
5dc0 | 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 | e.......}.....},......{......."s |
5de0 | 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 23 20 31 44 20 57 61 73 73 65 72 | ource":.[........."\n#.1D.Wasser |
5e00 | 73 74 65 69 6e 20 62 61 72 79 63 65 6e 74 65 72 20 64 65 6d 6f 5c 6e 5c 6e 5c 6e 5c 6e 40 61 75 | stein.barycenter.demo\n\n\n\n@au |
5e20 | 74 68 6f 72 3a 20 72 66 6c 61 6d 61 72 79 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 | thor:.rflamary\n\n".......],.... |
5e40 | 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 | ...."cell_type":."markdown",.... |
5e60 | 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b | ...."metadata":.{}.....},......{ |
5e80 | 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 | ......."execution_count":.null,. |
5ea0 | 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 | ......."cell_type":."code",..... |
5ec0 | 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 6d 70 6f 72 74 20 6e | ..."source":.[........."import.n |
5ee0 | 75 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 70 79 | umpy.as.np\nimport.matplotlib.py |
5f00 | 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 66 72 6f 6d 20 6d 70 6c 5f 74 | lab.as.pl\nimport.ot\nfrom.mpl_t |
5f20 | 6f 6f 6c 6b 69 74 73 2e 6d 70 6c 6f 74 33 64 20 69 6d 70 6f 72 74 20 41 78 65 73 33 44 20 23 6e | oolkits.mplot3d.import.Axes3D.#n |
5f40 | 65 63 65 73 73 61 72 79 20 66 6f 72 20 33 64 20 70 6c 6f 74 20 65 76 65 6e 20 69 66 20 6e 6f 74 | ecessary.for.3d.plot.even.if.not |
5f60 | 20 75 73 65 64 5c 6e 69 6d 70 6f 72 74 20 73 63 69 70 79 20 61 73 20 73 70 5c 6e 69 6d 70 6f 72 | .used\nimport.scipy.as.sp\nimpor |
5f80 | 74 20 73 63 69 70 79 2e 73 69 67 6e 61 6c 20 61 73 20 73 70 73 5c 6e 23 25 25 20 70 61 72 61 6d | t.scipy.signal.as.sps\n#%%.param |
5fa0 | 65 74 65 72 73 5c 6e 5c 6e 6e 3d 31 30 20 23 20 6e 62 20 62 69 6e 73 5c 6e 5c 6e 23 20 62 69 6e | eters\n\nn=10.#.nb.bins\n\n#.bin |
5fc0 | 20 70 6f 73 69 74 69 6f 6e 73 5c 6e 78 3d 6e 70 2e 61 72 61 6e 67 65 28 6e 2c 64 74 79 70 65 3d | .positions\nx=np.arange(n,dtype= |
5fe0 | 6e 70 2e 66 6c 6f 61 74 36 34 29 5c 6e 5c 6e 78 78 2c 79 79 3d 6e 70 2e 6d 65 73 68 67 72 69 64 | np.float64)\n\nxx,yy=np.meshgrid |
6000 | 28 78 2c 78 29 5c 6e 5c 6e 5c 6e 78 70 6f 73 3d 6e 70 2e 68 73 74 61 63 6b 28 28 78 78 2e 72 65 | (x,x)\n\n\nxpos=np.hstack((xx.re |
6020 | 73 68 61 70 65 28 2d 31 2c 31 29 2c 79 79 2e 72 65 73 68 61 70 65 28 2d 31 2c 31 29 29 29 5c 6e | shape(-1,1),yy.reshape(-1,1)))\n |
6040 | 5c 6e 4d 3d 6f 74 2e 64 69 73 74 28 78 70 6f 73 29 5c 6e 5c 6e 5c 6e 49 30 3d 28 28 78 78 2d 35 | \nM=ot.dist(xpos)\n\n\nI0=((xx-5 |
6060 | 29 2a 2a 32 2b 28 79 79 2d 35 29 2a 2a 32 3c 33 2a 2a 32 29 2a 31 2e 30 5c 6e 49 31 3d 28 28 78 | )**2+(yy-5)**2<3**2)*1.0\nI1=((x |
6080 | 78 2d 37 29 2a 2a 32 2b 28 79 79 2d 37 29 2a 2a 32 3c 33 2a 2a 32 29 2a 31 2e 30 5c 6e 5c 6e 49 | x-7)**2+(yy-7)**2<3**2)*1.0\n\nI |
60a0 | 30 2f 3d 49 30 2e 73 75 6d 28 29 5c 6e 49 31 2f 3d 49 31 2e 73 75 6d 28 29 5c 6e 5c 6e 69 30 3d | 0/=I0.sum()\nI1/=I1.sum()\n\ni0= |
60c0 | 49 30 2e 72 61 76 65 6c 28 29 5c 6e 69 31 3d 49 31 2e 72 61 76 65 6c 28 29 5c 6e 5c 6e 4d 3d 4d | I0.ravel()\ni1=I1.ravel()\n\nM=M |
60e0 | 5b 69 30 3e 30 2c 3a 5d 5b 3a 2c 69 31 3e 30 5d 2e 63 6f 70 79 28 29 5c 6e 69 30 3d 69 30 5b 69 | [i0>0,:][:,i1>0].copy()\ni0=i0[i |
6100 | 30 3e 30 5d 5c 6e 69 31 3d 69 31 5b 69 31 3e 30 5d 5c 6e 49 74 6f 74 3d 6e 70 2e 63 6f 6e 63 61 | 0>0]\ni1=i1[i1>0]\nItot=np.conca |
6120 | 74 65 6e 61 74 65 28 28 49 30 5b 3a 2c 3a 2c 6e 70 2e 6e 65 77 61 78 69 73 5d 2c 49 31 5b 3a 2c | tenate((I0[:,:,np.newaxis],I1[:, |
6140 | 3a 2c 6e 70 2e 6e 65 77 61 78 69 73 5d 29 2c 32 29 5c 6e 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 | :,np.newaxis]),2)\n\n\n#%%.plot. |
6160 | 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 31 | the.distributions\n\npl.figure(1 |
6180 | 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 31 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 | )\npl.subplot(2,2,1)\npl.imshow( |
61a0 | 49 30 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 32 29 5c 6e 70 6c 2e 69 6d 73 68 6f | I0)\npl.subplot(2,2,2)\npl.imsho |
61c0 | 77 28 49 31 29 5c 6e 5c 6e 5c 6e 23 25 25 20 62 61 72 79 63 65 6e 74 65 72 20 63 6f 6d 70 75 74 | w(I1)\n\n\n#%%.barycenter.comput |
61e0 | 61 74 69 6f 6e 5c 6e 5c 6e 61 6c 70 68 61 3d 30 2e 35 20 23 20 30 3c 3d 61 6c 70 68 61 3c 3d 31 | ation\n\nalpha=0.5.#.0<=alpha<=1 |
6200 | 5c 6e 77 65 69 67 68 74 73 3d 6e 70 2e 61 72 72 61 79 28 5b 31 2d 61 6c 70 68 61 2c 61 6c 70 68 | \nweights=np.array([1-alpha,alph |
6220 | 61 5d 29 5c 6e 5c 6e 5c 6e 64 65 66 20 63 6f 6e 76 32 28 49 2c 6b 29 3a 5c 6e 20 20 20 20 72 65 | a])\n\n\ndef.conv2(I,k):\n....re |
6240 | 74 75 72 6e 20 73 70 2e 6e 64 69 6d 61 67 65 2e 63 6f 6e 76 6f 6c 76 65 31 64 28 73 70 2e 6e 64 | turn.sp.ndimage.convolve1d(sp.nd |
6260 | 69 6d 61 67 65 2e 63 6f 6e 76 6f 6c 76 65 31 64 28 49 2c 6b 2c 61 78 69 73 3d 31 29 2c 6b 2c 61 | image.convolve1d(I,k,axis=1),k,a |
6280 | 78 69 73 3d 30 29 5c 6e 5c 6e 64 65 66 20 63 6f 6e 76 32 6e 28 49 2c 6b 29 3a 5c 6e 20 20 20 20 | xis=0)\n\ndef.conv2n(I,k):\n.... |
62a0 | 72 65 73 3d 6e 70 2e 7a 65 72 6f 73 5f 6c 69 6b 65 28 49 29 5c 6e 20 20 20 20 66 6f 72 20 69 20 | res=np.zeros_like(I)\n....for.i. |
62c0 | 69 6e 20 72 61 6e 67 65 28 49 2e 73 68 61 70 65 5b 32 5d 29 3a 5c 6e 20 20 20 20 20 20 20 20 72 | in.range(I.shape[2]):\n........r |
62e0 | 65 73 5b 3a 2c 3a 2c 69 5d 3d 63 6f 6e 76 32 28 49 5b 3a 2c 3a 2c 69 5d 2c 6b 29 5c 6e 20 20 20 | es[:,:,i]=conv2(I[:,:,i],k)\n... |
6300 | 20 72 65 74 75 72 6e 20 72 65 73 5c 6e 5c 6e 5c 6e 64 65 66 20 67 65 74 5f 31 44 6b 65 72 6e 65 | .return.res\n\n\ndef.get_1Dkerne |
6320 | 6c 28 72 65 67 2c 74 68 72 3d 31 65 2d 31 36 2c 77 6d 61 78 3d 31 30 32 34 29 3a 5c 6e 20 20 20 | l(reg,thr=1e-16,wmax=1024):\n... |
6340 | 20 77 3d 6d 61 78 28 6d 69 6e 28 77 6d 61 78 2c 32 2a 69 6e 74 28 28 2d 6e 70 2e 6c 6f 67 28 74 | .w=max(min(wmax,2*int((-np.log(t |
6360 | 68 72 29 2a 72 65 67 29 2a 2a 28 2e 35 29 29 29 2c 33 29 5c 6e 20 20 20 20 78 3d 6e 70 2e 61 72 | hr)*reg)**(.5))),3)\n....x=np.ar |
6380 | 61 6e 67 65 28 77 2c 64 74 79 70 65 3d 6e 70 2e 66 6c 6f 61 74 36 34 29 5c 6e 20 20 20 20 72 65 | ange(w,dtype=np.float64)\n....re |
63a0 | 74 75 72 6e 20 6e 70 2e 65 78 70 28 2d 28 28 78 2d 77 2f 32 29 2a 2a 32 29 2f 72 65 67 29 5c 6e | turn.np.exp(-((x-w/2)**2)/reg)\n |
63c0 | 20 20 20 20 5c 6e 74 68 72 3d 31 65 2d 31 36 5c 6e 72 65 67 3d 31 65 30 5c 6e 5c 6e 6b 3d 67 65 | ....\nthr=1e-16\nreg=1e0\n\nk=ge |
63e0 | 74 5f 31 44 6b 65 72 6e 65 6c 28 72 65 67 29 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 29 5c 6e 70 | t_1Dkernel(reg)\npl.figure(2)\np |
6400 | 6c 2e 70 6c 6f 74 28 6b 29 5c 6e 5c 6e 49 30 35 3d 63 6f 6e 76 32 28 49 30 2c 6b 29 5c 6e 5c 6e | l.plot(k)\n\nI05=conv2(I0,k)\n\n |
6420 | 70 6c 2e 66 69 67 75 72 65 28 31 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 31 29 5c | pl.figure(1)\npl.subplot(2,2,1)\ |
6440 | 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 30 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 32 | npl.imshow(I0)\npl.subplot(2,2,2 |
6460 | 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 30 35 29 5c 6e 5c 6e 23 25 25 5c 6e 5c 6e 47 3d 6f 74 | )\npl.imshow(I05)\n\n#%%\n\nG=ot |
6480 | 2e 65 6d 64 28 69 30 2c 69 31 2c 4d 29 5c 6e 72 30 3d 6e 70 2e 73 75 6d 28 4d 2a 47 29 5c 6e 5c | .emd(i0,i1,M)\nr0=np.sum(M*G)\n\ |
64a0 | 6e 72 65 67 3d 31 65 2d 31 5c 6e 47 73 3d 6f 74 2e 62 72 65 67 6d 61 6e 2e 73 69 6e 6b 68 6f 72 | nreg=1e-1\nGs=ot.bregman.sinkhor |
64c0 | 6e 5f 6b 6e 6f 70 70 28 69 30 2c 69 31 2c 4d 2c 72 65 67 3d 72 65 67 29 5c 6e 72 73 3d 6e 70 2e | n_knopp(i0,i1,M,reg=reg)\nrs=np. |
64e0 | 73 75 6d 28 4d 2a 47 73 29 5c 6e 5c 6e 23 25 25 5c 6e 5c 6e 64 65 66 20 6d 79 6c 6f 67 28 75 29 | sum(M*Gs)\n\n#%%\n\ndef.mylog(u) |
6500 | 3a 5c 6e 20 20 20 20 74 6d 70 3d 6e 70 2e 6c 6f 67 28 75 29 5c 6e 20 20 20 20 74 6d 70 5b 6e 70 | :\n....tmp=np.log(u)\n....tmp[np |
6520 | 2e 69 73 6e 61 6e 28 74 6d 70 29 5d 3d 30 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 74 6d 70 5c 6e | .isnan(tmp)]=0\n....return.tmp\n |
6540 | 5c 6e 64 65 66 20 73 69 6e 6b 68 6f 72 6e 5f 63 6f 6e 76 28 61 2c 62 2c 20 72 65 67 2c 20 6e 75 | \ndef.sinkhorn_conv(a,b,.reg,.nu |
6560 | 6d 49 74 65 72 6d 61 78 20 3d 20 31 30 30 30 2c 20 73 74 6f 70 54 68 72 3d 31 65 2d 39 2c 20 76 | mItermax.=.1000,.stopThr=1e-9,.v |
6580 | 65 72 62 6f 73 65 3d 46 61 6c 73 65 2c 20 6c 6f 67 3d 46 61 6c 73 65 2c 2a 2a 6b 77 61 72 67 73 | erbose=False,.log=False,**kwargs |
65a0 | 29 3a 5c 6e 5c 6e 5c 6e 20 20 20 20 61 3d 6e 70 2e 61 73 61 72 72 61 79 28 61 2c 64 74 79 70 65 | ):\n\n\n....a=np.asarray(a,dtype |
65c0 | 3d 6e 70 2e 66 6c 6f 61 74 36 34 29 5c 6e 20 20 20 20 62 3d 6e 70 2e 61 73 61 72 72 61 79 28 62 | =np.float64)\n....b=np.asarray(b |
65e0 | 2c 64 74 79 70 65 3d 6e 70 2e 66 6c 6f 61 74 36 34 29 5c 6e 20 20 20 20 20 20 20 20 5c 6e 20 20 | ,dtype=np.float64)\n........\n.. |
6600 | 20 20 5c 6e 20 20 20 20 69 66 20 6c 65 6e 28 62 2e 73 68 61 70 65 29 3e 32 3a 5c 6e 20 20 20 20 | ..\n....if.len(b.shape)>2:\n.... |
6620 | 20 20 20 20 6e 62 62 3d 62 2e 73 68 61 70 65 5b 32 5d 5c 6e 20 20 20 20 20 20 20 20 61 3d 61 5b | ....nbb=b.shape[2]\n........a=a[ |
6640 | 3a 2c 3a 2c 6e 70 2e 6e 65 77 61 78 69 73 5d 5c 6e 20 20 20 20 65 6c 73 65 3a 5c 6e 20 20 20 20 | :,:,np.newaxis]\n....else:\n.... |
6660 | 20 20 20 20 6e 62 62 3d 30 5c 6e 20 20 20 20 5c 6e 5c 6e 20 20 20 20 69 66 20 6c 6f 67 3a 5c 6e | ....nbb=0\n....\n\n....if.log:\n |
6680 | 20 20 20 20 20 20 20 20 6c 6f 67 3d 7b 27 65 72 72 27 3a 5b 5d 7d 5c 6e 5c 6e 20 20 20 20 23 20 | ........log={'err':[]}\n\n....#. |
66a0 | 77 65 20 61 73 73 75 6d 65 20 74 68 61 74 20 6e 6f 20 64 69 73 74 61 6e 63 65 73 20 61 72 65 20 | we.assume.that.no.distances.are. |
66c0 | 6e 75 6c 6c 20 65 78 63 65 70 74 20 74 68 6f 73 65 20 6f 66 20 74 68 65 20 64 69 61 67 6f 6e 61 | null.except.those.of.the.diagona |
66e0 | 6c 20 6f 66 20 64 69 73 74 61 6e 63 65 73 5c 6e 20 20 20 20 69 66 20 6e 62 62 3a 5c 6e 20 20 20 | l.of.distances\n....if.nbb:\n... |
6700 | 20 20 20 20 20 75 20 3d 20 6e 70 2e 6f 6e 65 73 28 28 61 2e 73 68 61 70 65 5b 30 5d 2c 61 2e 73 | .....u.=.np.ones((a.shape[0],a.s |
6720 | 68 61 70 65 5b 31 5d 2c 6e 62 62 29 29 2f 28 6e 70 2e 70 72 6f 64 28 61 2e 73 68 61 70 65 5b 3a | hape[1],nbb))/(np.prod(a.shape[: |
6740 | 32 5d 29 29 5c 6e 20 20 20 20 20 20 20 20 76 20 3d 20 6e 70 2e 6f 6e 65 73 28 28 61 2e 73 68 61 | 2]))\n........v.=.np.ones((a.sha |
6760 | 70 65 5b 30 5d 2c 61 2e 73 68 61 70 65 5b 31 5d 2c 6e 62 62 29 29 2f 28 6e 70 2e 70 72 6f 64 28 | pe[0],a.shape[1],nbb))/(np.prod( |
6780 | 62 2e 73 68 61 70 65 5b 3a 32 5d 29 29 5c 6e 20 20 20 20 20 20 20 20 61 30 3d 31 2e 30 2f 28 6e | b.shape[:2]))\n........a0=1.0/(n |
67a0 | 70 2e 70 72 6f 64 28 62 2e 73 68 61 70 65 5b 3a 32 5d 29 29 5c 6e 20 20 20 20 65 6c 73 65 3a 5c | p.prod(b.shape[:2]))\n....else:\ |
67c0 | 6e 20 20 20 20 20 20 20 20 75 20 3d 20 6e 70 2e 6f 6e 65 73 28 28 61 2e 73 68 61 70 65 5b 30 5d | n........u.=.np.ones((a.shape[0] |
67e0 | 2c 61 2e 73 68 61 70 65 5b 31 5d 29 29 2f 28 6e 70 2e 70 72 6f 64 28 61 2e 73 68 61 70 65 5b 3a | ,a.shape[1]))/(np.prod(a.shape[: |
6800 | 32 5d 29 29 5c 6e 20 20 20 20 20 20 20 20 76 20 3d 20 6e 70 2e 6f 6e 65 73 28 28 61 2e 73 68 61 | 2]))\n........v.=.np.ones((a.sha |
6820 | 70 65 5b 30 5d 2c 61 2e 73 68 61 70 65 5b 31 5d 29 29 2f 28 6e 70 2e 70 72 6f 64 28 62 2e 73 68 | pe[0],a.shape[1]))/(np.prod(b.sh |
6840 | 61 70 65 5b 3a 32 5d 29 29 5c 6e 20 20 20 20 20 20 20 20 61 30 3d 31 2e 30 2f 28 6e 70 2e 70 72 | ape[:2]))\n........a0=1.0/(np.pr |
6860 | 6f 64 28 62 2e 73 68 61 70 65 5b 3a 32 5d 29 29 5c 6e 20 20 20 20 20 20 20 20 5c 6e 20 20 20 20 | od(b.shape[:2]))\n........\n.... |
6880 | 20 20 20 20 5c 6e 20 20 20 20 6b 3d 67 65 74 5f 31 44 6b 65 72 6e 65 6c 28 72 65 67 29 5c 6e 20 | ....\n....k=get_1Dkernel(reg)\n. |
68a0 | 20 20 20 5c 6e 20 20 20 20 69 66 20 6e 62 62 3a 5c 6e 20 20 20 20 20 20 20 20 4b 3d 6c 61 6d 62 | ...\n....if.nbb:\n........K=lamb |
68c0 | 64 61 20 49 3a 20 63 6f 6e 76 32 6e 28 49 2c 6b 29 5c 6e 20 20 20 20 65 6c 73 65 3a 5c 6e 20 20 | da.I:.conv2n(I,k)\n....else:\n.. |
68e0 | 20 20 20 20 20 20 4b 3d 6c 61 6d 62 64 61 20 49 3a 20 63 6f 6e 76 32 28 49 2c 6b 29 5c 6e 5c 6e | ......K=lambda.I:.conv2(I,k)\n\n |
6900 | 20 20 20 20 63 70 74 20 3d 20 30 5c 6e 20 20 20 20 65 72 72 3d 31 5c 6e 20 20 20 20 77 68 69 6c | ....cpt.=.0\n....err=1\n....whil |
6920 | 65 20 28 65 72 72 3e 73 74 6f 70 54 68 72 20 61 6e 64 20 63 70 74 3c 6e 75 6d 49 74 65 72 6d 61 | e.(err>stopThr.and.cpt<numIterma |
6940 | 78 29 3a 5c 6e 20 20 20 20 20 20 20 20 75 70 72 65 76 20 3d 20 75 5c 6e 20 20 20 20 20 20 20 20 | x):\n........uprev.=.u\n........ |
6960 | 76 70 72 65 76 20 3d 20 76 5c 6e 20 20 20 20 20 20 20 20 5c 6e 20 20 20 20 20 20 20 20 76 20 3d | vprev.=.v\n........\n........v.= |
6980 | 20 6e 70 2e 64 69 76 69 64 65 28 62 2c 20 4b 28 75 29 29 5c 6e 20 20 20 20 20 20 20 20 75 20 3d | .np.divide(b,.K(u))\n........u.= |
69a0 | 20 6e 70 2e 64 69 76 69 64 65 28 61 2c 20 4b 28 76 29 29 5c 6e 5c 6e 20 20 20 20 20 20 20 20 69 | .np.divide(a,.K(v))\n\n........i |
69c0 | 66 20 28 6e 70 2e 61 6e 79 28 6e 70 2e 69 73 6e 61 6e 28 75 29 29 20 6f 72 20 6e 70 2e 61 6e 79 | f.(np.any(np.isnan(u)).or.np.any |
69e0 | 28 6e 70 2e 69 73 6e 61 6e 28 76 29 29 20 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 6e | (np.isnan(v)).\n............or.n |
6a00 | 70 2e 61 6e 79 28 6e 70 2e 69 73 69 6e 66 28 75 29 29 20 6f 72 20 6e 70 2e 61 6e 79 28 6e 70 2e | p.any(np.isinf(u)).or.np.any(np. |
6a20 | 69 73 69 6e 66 28 76 29 29 29 3a 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 23 20 77 65 20 68 61 | isinf(v))):\n............#.we.ha |
6a40 | 76 65 20 72 65 61 63 68 65 64 20 74 68 65 20 6d 61 63 68 69 6e 65 20 70 72 65 63 69 73 69 6f 6e | ve.reached.the.machine.precision |
6a60 | 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 23 20 63 6f 6d 65 20 62 61 63 6b 20 74 6f 20 70 72 65 | \n............#.come.back.to.pre |
6a80 | 76 69 6f 75 73 20 73 6f 6c 75 74 69 6f 6e 20 61 6e 64 20 71 75 69 74 20 6c 6f 6f 70 5c 6e 20 20 | vious.solution.and.quit.loop\n.. |
6aa0 | 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 27 57 61 72 6e 69 6e 67 3a 20 6e 75 6d 65 72 69 | ..........print('Warning:.numeri |
6ac0 | 63 61 6c 20 65 72 72 6f 72 73 20 61 74 20 69 74 65 72 61 74 69 6f 6e 27 2c 20 63 70 74 29 5c 6e | cal.errors.at.iteration',.cpt)\n |
6ae0 | 20 20 20 20 20 20 20 20 20 20 20 20 75 20 3d 20 75 70 72 65 76 5c 6e 20 20 20 20 20 20 20 20 20 | ............u.=.uprev\n......... |
6b00 | 20 20 20 76 20 3d 20 76 70 72 65 76 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 5c | ...v.=.vprev\n............break\ |
6b20 | 6e 20 20 20 20 20 20 20 20 69 66 20 63 70 74 25 31 30 3d 3d 30 3a 5c 6e 20 20 20 20 20 20 20 20 | n........if.cpt%10==0:\n........ |
6b40 | 20 20 20 20 23 20 77 65 20 63 61 6e 20 73 70 65 65 64 20 75 70 20 74 68 65 20 70 72 6f 63 65 73 | ....#.we.can.speed.up.the.proces |
6b60 | 73 20 62 79 20 63 68 65 63 6b 69 6e 67 20 66 6f 72 20 74 68 65 20 65 72 72 6f 72 20 6f 6e 6c 79 | s.by.checking.for.the.error.only |
6b80 | 20 61 6c 6c 20 74 68 65 20 31 30 74 68 20 69 74 65 72 61 74 69 6f 6e 73 5c 6e 5c 6e 20 20 20 20 | .all.the.10th.iterations\n\n.... |
6ba0 | 20 20 20 20 20 20 20 20 65 72 72 20 3d 20 6e 70 2e 73 75 6d 28 28 75 2d 75 70 72 65 76 29 2a 2a | ........err.=.np.sum((u-uprev)** |
6bc0 | 32 29 2f 6e 70 2e 73 75 6d 28 28 75 29 2a 2a 32 29 2b 6e 70 2e 73 75 6d 28 28 76 2d 76 70 72 65 | 2)/np.sum((u)**2)+np.sum((v-vpre |
6be0 | 76 29 2a 2a 32 29 2f 6e 70 2e 73 75 6d 28 28 76 29 2a 2a 32 29 5c 6e 5c 6e 20 20 20 20 20 20 20 | v)**2)/np.sum((v)**2)\n\n....... |
6c00 | 20 20 20 20 20 69 66 20 6c 6f 67 3a 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f | .....if.log:\n................lo |
6c20 | 67 5b 27 65 72 72 27 5d 2e 61 70 70 65 6e 64 28 65 72 72 29 5c 6e 5c 6e 20 20 20 20 20 20 20 20 | g['err'].append(err)\n\n........ |
6c40 | 20 20 20 20 69 66 20 76 65 72 62 6f 73 65 3a 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....if.verbose:\n............... |
6c60 | 20 69 66 20 63 70 74 25 32 30 30 20 3d 3d 30 3a 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .if.cpt%200.==0:\n.............. |
6c80 | 20 20 20 20 20 20 70 72 69 6e 74 28 27 7b 3a 35 73 7d 7c 7b 3a 31 32 73 7d 27 2e 66 6f 72 6d 61 | ......print('{:5s}|{:12s}'.forma |
6ca0 | 74 28 27 49 74 2e 27 2c 27 45 72 72 27 29 2b 27 5c 5c 6e 27 2b 27 2d 27 2a 31 39 29 5c 6e 20 20 | t('It.','Err')+'\\n'+'-'*19)\n.. |
6cc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 27 7b 3a 35 64 7d 7c 7b 3a 38 65 7d | ..............print('{:5d}|{:8e} |
6ce0 | 7c 27 2e 66 6f 72 6d 61 74 28 63 70 74 2c 65 72 72 29 29 5c 6e 20 20 20 20 20 20 20 20 63 70 74 | |'.format(cpt,err))\n........cpt |
6d00 | 20 3d 20 63 70 74 20 2b 31 5c 6e 20 20 20 20 69 66 20 6c 6f 67 3a 5c 6e 20 20 20 20 20 20 20 20 | .=.cpt.+1\n....if.log:\n........ |
6d20 | 6c 6f 67 5b 27 75 27 5d 3d 75 5c 6e 20 20 20 20 20 20 20 20 6c 6f 67 5b 27 76 27 5d 3d 76 5c 6e | log['u']=u\n........log['v']=v\n |
6d40 | 20 20 20 20 20 20 20 20 5c 6e 20 20 20 20 69 66 20 6e 62 62 3a 20 23 72 65 74 75 72 6e 20 6f 6e | ........\n....if.nbb:.#return.on |
6d60 | 6c 79 20 6c 6f 73 73 20 5c 6e 20 20 20 20 20 20 20 20 72 65 73 3d 6e 70 2e 7a 65 72 6f 73 28 28 | ly.loss.\n........res=np.zeros(( |
6d80 | 6e 62 62 29 29 5c 6e 20 20 20 20 20 20 20 20 66 6f 72 20 69 20 69 6e 20 72 61 6e 67 65 28 6e 62 | nbb))\n........for.i.in.range(nb |
6da0 | 62 29 3a 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 5b 69 5d 3d 6e 70 2e 73 75 6d 28 75 | b):\n............res[i]=np.sum(u |
6dc0 | 5b 3a 2c 69 5d 2e 72 65 73 68 61 70 65 28 28 2d 31 2c 31 29 29 2a 4b 2a 76 5b 3a 2c 69 5d 2e 72 | [:,i].reshape((-1,1))*K*v[:,i].r |
6de0 | 65 73 68 61 70 65 28 28 31 2c 2d 31 29 29 2a 4d 29 5c 6e 20 20 20 20 20 20 20 20 69 66 20 6c 6f | eshape((1,-1))*M)\n........if.lo |
6e00 | 67 3a 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 2c 6c 6f 67 5c 6e | g:\n............return.res,log\n |
6e20 | 20 20 20 20 20 20 20 20 65 6c 73 65 3a 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 | ........else:\n............retur |
6e40 | 6e 20 72 65 73 20 20 20 20 20 20 20 20 5c 6e 20 20 20 20 20 20 20 20 5c 6e 20 20 20 20 65 6c 73 | n.res........\n........\n....els |
6e60 | 65 3a 20 23 20 72 65 74 75 72 6e 20 4f 54 20 6d 61 74 72 69 78 5c 6e 20 20 20 20 20 20 20 20 72 | e:.#.return.OT.matrix\n........r |
6e80 | 65 73 3d 72 65 67 2a 61 30 2a 6e 70 2e 73 75 6d 28 61 2a 6d 79 6c 6f 67 28 75 2b 28 75 3d 3d 30 | es=reg*a0*np.sum(a*mylog(u+(u==0 |
6ea0 | 29 29 2b 62 2a 6d 79 6c 6f 67 28 76 2b 28 76 3d 3d 30 29 29 29 5c 6e 20 20 20 20 20 20 20 20 69 | ))+b*mylog(v+(v==0)))\n........i |
6ec0 | 66 20 6c 6f 67 3a 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 5c 6e 20 20 20 20 20 20 20 20 20 20 | f.log:\n............\n.......... |
6ee0 | 20 20 72 65 74 75 72 6e 20 72 65 73 2c 6c 6f 67 5c 6e 20 20 20 20 20 20 20 20 65 6c 73 65 3a 5c | ..return.res,log\n........else:\ |
6f00 | 6e 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 72 65 73 5c 6e 5c 6e 72 65 67 3d 31 | n............return.res\n\nreg=1 |
6f20 | 65 30 5c 6e 72 2c 6c 6f 67 3d 73 69 6e 6b 68 6f 72 6e 5f 63 6f 6e 76 28 49 30 2c 49 31 2c 72 65 | e0\nr,log=sinkhorn_conv(I0,I1,re |
6f40 | 67 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 2c 6c 6f 67 3d 54 72 75 65 29 5c 6e 61 3d 49 30 5c 6e | g,verbose=True,log=True)\na=I0\n |
6f60 | 62 3d 49 31 5c 6e 75 3d 6c 6f 67 5b 27 75 27 5d 5c 6e 76 3d 6c 6f 67 5b 27 76 27 5d 5c 6e 23 25 | b=I1\nu=log['u']\nv=log['v']\n#% |
6f80 | 25 20 62 61 72 79 63 65 6e 74 65 72 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 22 0a 20 20 20 20 | %.barycenter.interpolation"..... |
6fa0 | 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 | ..],........"outputs":.[],...... |
6fc0 | 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 | .."metadata":.{........."collaps |
6fe0 | 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 | ed":.false.......}.....}...],... |
7000 | 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c 73 70 65 63 22 3a | ."metadata":.{....."kernelspec": |
7020 | 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e | .{......."display_name":."Python |
7040 | 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 32 22 2c 20 0a | .2",........"name":."python2",.. |
7060 | 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 0a 20 20 20 20 7d | ......"language":."python".....} |
7080 | 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 | ,......"language_info":.{....... |
70a0 | 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 20 0a 20 20 | "mimetype":."text/x-python",.... |
70c0 | 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 22 70 79 74 68 6f | ...."nbconvert_exporter":."pytho |
70e0 | 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 | n",........"name":."python",.... |
7100 | 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 20 0a 20 20 | ...."file_extension":.".py",.... |
7120 | 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a 20 20 20 20 20 20 | ...."version":."2.7.12",........ |
7140 | 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 32 22 2c 20 0a 20 | "pygments_lexer":."ipython2",... |
7160 | 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 | ....."codemirror_mode":.{....... |
7180 | 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a | .."version":.2,.........."name": |
71a0 | 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b | ."ipython".......}.....}...}.}PK |
71c0 | 03 04 14 00 00 00 00 00 0f 83 1e 4b 06 87 a7 1b 68 0f 00 00 68 0f 00 00 26 00 00 00 61 75 74 6f | ...........K....h...h...&...auto |
71e0 | 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 62 61 72 79 63 65 6e 74 65 72 5f 31 44 2e 69 70 79 | _examples/plot_barycenter_1D.ipy |
7200 | 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 6e | nb{..."nbformat_minor":.0,...."n |
7220 | 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b | bformat":.4,...."cells":.[.....{ |
7240 | 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 | ......."execution_count":.null,. |
7260 | 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 | ......."cell_type":."code",..... |
7280 | 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 74 70 6c 6f 74 | ..."source":.[........."%matplot |
72a0 | 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 | lib.inline".......],........"out |
72c0 | 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a | puts":.[],........"metadata":.{. |
72e0 | 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 | ........"collapsed":.false...... |
7300 | 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a | .}.....},......{......."source": |
7320 | 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 23 20 31 44 20 57 61 73 73 65 72 73 74 65 69 6e 20 62 | .[........."\n#.1D.Wasserstein.b |
7340 | 61 72 79 63 65 6e 74 65 72 20 64 65 6d 6f 5c 6e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c | arycenter.demo\n\n\n\n".......], |
7360 | 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c | ........"cell_type":."markdown", |
7380 | 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 | ........"metadata":.{}.....},... |
73a0 | 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 | ...{......."execution_count":.nu |
73c0 | 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 | ll,........"cell_type":."code",. |
73e0 | 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 20 41 75 | ......."source":.[........."#.Au |
7400 | 74 68 6f 72 3a 20 52 65 6d 69 20 46 6c 61 6d 61 72 79 20 3c 72 65 6d 69 2e 66 6c 61 6d 61 72 79 | thor:.Remi.Flamary.<remi.flamary |
7420 | 40 75 6e 69 63 65 2e 66 72 3e 5c 6e 23 5c 6e 23 20 4c 69 63 65 6e 73 65 3a 20 4d 49 54 20 4c 69 | @unice.fr>\n#\n#.License:.MIT.Li |
7440 | 63 65 6e 73 65 5c 6e 5c 6e 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 | cense\n\nimport.numpy.as.np\nimp |
7460 | 6f 72 74 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f | ort.matplotlib.pylab.as.pl\nimpo |
7480 | 72 74 20 6f 74 5c 6e 23 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72 20 33 64 20 70 6c 6f 74 20 65 | rt.ot\n#.necessary.for.3d.plot.e |
74a0 | 76 65 6e 20 69 66 20 6e 6f 74 20 75 73 65 64 5c 6e 66 72 6f 6d 20 6d 70 6c 5f 74 6f 6f 6c 6b 69 | ven.if.not.used\nfrom.mpl_toolki |
74c0 | 74 73 2e 6d 70 6c 6f 74 33 64 20 69 6d 70 6f 72 74 20 41 78 65 73 33 44 20 20 23 20 6e 6f 71 61 | ts.mplot3d.import.Axes3D..#.noqa |
74e0 | 5c 6e 66 72 6f 6d 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 63 6f 6c 6c 65 63 74 69 6f 6e 73 20 69 6d | \nfrom.matplotlib.collections.im |
7500 | 70 6f 72 74 20 50 6f 6c 79 43 6f 6c 6c 65 63 74 69 6f 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 70 61 72 | port.PolyCollection\n\n\n#%%.par |
7520 | 61 6d 65 74 65 72 73 5c 6e 5c 6e 6e 20 3d 20 31 30 30 20 20 23 20 6e 62 20 62 69 6e 73 5c 6e 5c | ameters\n\nn.=.100..#.nb.bins\n\ |
7540 | 6e 23 20 62 69 6e 20 70 6f 73 69 74 69 6f 6e 73 5c 6e 78 20 3d 20 6e 70 2e 61 72 61 6e 67 65 28 | n#.bin.positions\nx.=.np.arange( |
7560 | 6e 2c 20 64 74 79 70 65 3d 6e 70 2e 66 6c 6f 61 74 36 34 29 5c 6e 5c 6e 23 20 47 61 75 73 73 69 | n,.dtype=np.float64)\n\n#.Gaussi |
7580 | 61 6e 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 61 31 20 3d 20 6f 74 2e 64 61 74 61 73 65 | an.distributions\na1.=.ot.datase |
75a0 | 74 73 2e 67 65 74 5f 31 44 5f 67 61 75 73 73 28 6e 2c 20 6d 3d 32 30 2c 20 73 3d 35 29 20 20 23 | ts.get_1D_gauss(n,.m=20,.s=5)..# |
75c0 | 20 6d 3d 20 6d 65 61 6e 2c 20 73 3d 20 73 74 64 5c 6e 61 32 20 3d 20 6f 74 2e 64 61 74 61 73 65 | .m=.mean,.s=.std\na2.=.ot.datase |
75e0 | 74 73 2e 67 65 74 5f 31 44 5f 67 61 75 73 73 28 6e 2c 20 6d 3d 36 30 2c 20 73 3d 38 29 5c 6e 5c | ts.get_1D_gauss(n,.m=60,.s=8)\n\ |
7600 | 6e 23 20 63 72 65 61 74 69 6e 67 20 6d 61 74 72 69 78 20 41 20 63 6f 6e 74 61 69 6e 69 6e 67 20 | n#.creating.matrix.A.containing. |
7620 | 61 6c 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 41 20 3d 20 6e 70 2e 76 73 74 61 63 6b | all.distributions\nA.=.np.vstack |
7640 | 28 28 61 31 2c 20 61 32 29 29 2e 54 5c 6e 6e 5f 64 69 73 74 72 69 62 75 74 69 6f 6e 73 20 3d 20 | ((a1,.a2)).T\nn_distributions.=. |
7660 | 41 2e 73 68 61 70 65 5b 31 5d 5c 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 20 2b 20 6e 6f | A.shape[1]\n\n#.loss.matrix.+.no |
7680 | 72 6d 61 6c 69 7a 61 74 69 6f 6e 5c 6e 4d 20 3d 20 6f 74 2e 75 74 69 6c 73 2e 64 69 73 74 30 28 | rmalization\nM.=.ot.utils.dist0( |
76a0 | 6e 29 5c 6e 4d 20 2f 3d 20 4d 2e 6d 61 78 28 29 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 74 68 65 | n)\nM./=.M.max()\n\n#%%.plot.the |
76c0 | 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 31 2c 20 66 | .distributions\n\npl.figure(1,.f |
76e0 | 69 67 73 69 7a 65 3d 28 36 2e 34 2c 20 33 29 29 5c 6e 66 6f 72 20 69 20 69 6e 20 72 61 6e 67 65 | igsize=(6.4,.3))\nfor.i.in.range |
7700 | 28 6e 5f 64 69 73 74 72 69 62 75 74 69 6f 6e 73 29 3a 5c 6e 20 20 20 20 70 6c 2e 70 6c 6f 74 28 | (n_distributions):\n....pl.plot( |
7720 | 78 2c 20 41 5b 3a 2c 20 69 5d 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 44 69 73 74 72 69 62 75 74 | x,.A[:,.i])\npl.title('Distribut |
7740 | 69 6f 6e 73 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 5c 6e 5c 6e 23 25 25 | ions')\npl.tight_layout()\n\n#%% |
7760 | 20 62 61 72 79 63 65 6e 74 65 72 20 63 6f 6d 70 75 74 61 74 69 6f 6e 5c 6e 5c 6e 61 6c 70 68 61 | .barycenter.computation\n\nalpha |
7780 | 20 3d 20 30 2e 32 20 20 23 20 30 3c 3d 61 6c 70 68 61 3c 3d 31 5c 6e 77 65 69 67 68 74 73 20 3d | .=.0.2..#.0<=alpha<=1\nweights.= |
77a0 | 20 6e 70 2e 61 72 72 61 79 28 5b 31 20 2d 20 61 6c 70 68 61 2c 20 61 6c 70 68 61 5d 29 5c 6e 5c | .np.array([1.-.alpha,.alpha])\n\ |
77c0 | 6e 23 20 6c 32 62 61 72 79 5c 6e 62 61 72 79 5f 6c 32 20 3d 20 41 2e 64 6f 74 28 77 65 69 67 68 | n#.l2bary\nbary_l2.=.A.dot(weigh |
77e0 | 74 73 29 5c 6e 5c 6e 23 20 77 61 73 73 65 72 73 74 65 69 6e 5c 6e 72 65 67 20 3d 20 31 65 2d 33 | ts)\n\n#.wasserstein\nreg.=.1e-3 |
7800 | 5c 6e 62 61 72 79 5f 77 61 73 73 20 3d 20 6f 74 2e 62 72 65 67 6d 61 6e 2e 62 61 72 79 63 65 6e | \nbary_wass.=.ot.bregman.barycen |
7820 | 74 65 72 28 41 2c 20 4d 2c 20 72 65 67 2c 20 77 65 69 67 68 74 73 29 5c 6e 5c 6e 70 6c 2e 66 69 | ter(A,.M,.reg,.weights)\n\npl.fi |
7840 | 67 75 72 65 28 32 29 5c 6e 70 6c 2e 63 6c 66 28 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c | gure(2)\npl.clf()\npl.subplot(2, |
7860 | 20 31 2c 20 31 29 5c 6e 66 6f 72 20 69 20 69 6e 20 72 61 6e 67 65 28 6e 5f 64 69 73 74 72 69 62 | .1,.1)\nfor.i.in.range(n_distrib |
7880 | 75 74 69 6f 6e 73 29 3a 5c 6e 20 20 20 20 70 6c 2e 70 6c 6f 74 28 78 2c 20 41 5b 3a 2c 20 69 5d | utions):\n....pl.plot(x,.A[:,.i] |
78a0 | 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 44 69 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 5c 6e | )\npl.title('Distributions')\n\n |
78c0 | 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 31 2c 20 32 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 20 | pl.subplot(2,.1,.2)\npl.plot(x,. |
78e0 | 62 61 72 79 5f 6c 32 2c 20 27 72 27 2c 20 6c 61 62 65 6c 3d 27 6c 32 27 29 5c 6e 70 6c 2e 70 6c | bary_l2,.'r',.label='l2')\npl.pl |
7900 | 6f 74 28 78 2c 20 62 61 72 79 5f 77 61 73 73 2c 20 27 67 27 2c 20 6c 61 62 65 6c 3d 27 57 61 73 | ot(x,.bary_wass,.'g',.label='Was |
7920 | 73 65 72 73 74 65 69 6e 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 29 5c 6e 70 6c 2e 74 69 74 6c | serstein')\npl.legend()\npl.titl |
7940 | 65 28 27 42 61 72 79 63 65 6e 74 65 72 73 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 | e('Barycenters')\npl.tight_layou |
7960 | 74 28 29 5c 6e 5c 6e 23 25 25 20 62 61 72 79 63 65 6e 74 65 72 20 69 6e 74 65 72 70 6f 6c 61 74 | t()\n\n#%%.barycenter.interpolat |
7980 | 69 6f 6e 5c 6e 5c 6e 6e 5f 61 6c 70 68 61 20 3d 20 31 31 5c 6e 61 6c 70 68 61 5f 6c 69 73 74 20 | ion\n\nn_alpha.=.11\nalpha_list. |
79a0 | 3d 20 6e 70 2e 6c 69 6e 73 70 61 63 65 28 30 2c 20 31 2c 20 6e 5f 61 6c 70 68 61 29 5c 6e 5c 6e | =.np.linspace(0,.1,.n_alpha)\n\n |
79c0 | 5c 6e 42 5f 6c 32 20 3d 20 6e 70 2e 7a 65 72 6f 73 28 28 6e 2c 20 6e 5f 61 6c 70 68 61 29 29 5c | \nB_l2.=.np.zeros((n,.n_alpha))\ |
79e0 | 6e 5c 6e 42 5f 77 61 73 73 20 3d 20 6e 70 2e 63 6f 70 79 28 42 5f 6c 32 29 5c 6e 5c 6e 66 6f 72 | n\nB_wass.=.np.copy(B_l2)\n\nfor |
7a00 | 20 69 20 69 6e 20 72 61 6e 67 65 28 30 2c 20 6e 5f 61 6c 70 68 61 29 3a 5c 6e 20 20 20 20 61 6c | .i.in.range(0,.n_alpha):\n....al |
7a20 | 70 68 61 20 3d 20 61 6c 70 68 61 5f 6c 69 73 74 5b 69 5d 5c 6e 20 20 20 20 77 65 69 67 68 74 73 | pha.=.alpha_list[i]\n....weights |
7a40 | 20 3d 20 6e 70 2e 61 72 72 61 79 28 5b 31 20 2d 20 61 6c 70 68 61 2c 20 61 6c 70 68 61 5d 29 5c | .=.np.array([1.-.alpha,.alpha])\ |
7a60 | 6e 20 20 20 20 42 5f 6c 32 5b 3a 2c 20 69 5d 20 3d 20 41 2e 64 6f 74 28 77 65 69 67 68 74 73 29 | n....B_l2[:,.i].=.A.dot(weights) |
7a80 | 5c 6e 20 20 20 20 42 5f 77 61 73 73 5b 3a 2c 20 69 5d 20 3d 20 6f 74 2e 62 72 65 67 6d 61 6e 2e | \n....B_wass[:,.i].=.ot.bregman. |
7aa0 | 62 61 72 79 63 65 6e 74 65 72 28 41 2c 20 4d 2c 20 72 65 67 2c 20 77 65 69 67 68 74 73 29 5c 6e | barycenter(A,.M,.reg,.weights)\n |
7ac0 | 5c 6e 23 25 25 20 70 6c 6f 74 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 5c 6e 5c 6e 70 6c 2e 66 | \n#%%.plot.interpolation\n\npl.f |
7ae0 | 69 67 75 72 65 28 33 29 5c 6e 5c 6e 63 6d 61 70 20 3d 20 70 6c 2e 63 6d 2e 67 65 74 5f 63 6d 61 | igure(3)\n\ncmap.=.pl.cm.get_cma |
7b00 | 70 28 27 76 69 72 69 64 69 73 27 29 5c 6e 76 65 72 74 73 20 3d 20 5b 5d 5c 6e 7a 73 20 3d 20 61 | p('viridis')\nverts.=.[]\nzs.=.a |
7b20 | 6c 70 68 61 5f 6c 69 73 74 5c 6e 66 6f 72 20 69 2c 20 7a 20 69 6e 20 65 6e 75 6d 65 72 61 74 65 | lpha_list\nfor.i,.z.in.enumerate |
7b40 | 28 7a 73 29 3a 5c 6e 20 20 20 20 79 73 20 3d 20 42 5f 6c 32 5b 3a 2c 20 69 5d 5c 6e 20 20 20 20 | (zs):\n....ys.=.B_l2[:,.i]\n.... |
7b60 | 76 65 72 74 73 2e 61 70 70 65 6e 64 28 6c 69 73 74 28 7a 69 70 28 78 2c 20 79 73 29 29 29 5c 6e | verts.append(list(zip(x,.ys)))\n |
7b80 | 5c 6e 61 78 20 3d 20 70 6c 2e 67 63 66 28 29 2e 67 63 61 28 70 72 6f 6a 65 63 74 69 6f 6e 3d 27 | \nax.=.pl.gcf().gca(projection=' |
7ba0 | 33 64 27 29 5c 6e 5c 6e 70 6f 6c 79 20 3d 20 50 6f 6c 79 43 6f 6c 6c 65 63 74 69 6f 6e 28 76 65 | 3d')\n\npoly.=.PolyCollection(ve |
7bc0 | 72 74 73 2c 20 66 61 63 65 63 6f 6c 6f 72 73 3d 5b 63 6d 61 70 28 61 29 20 66 6f 72 20 61 20 69 | rts,.facecolors=[cmap(a).for.a.i |
7be0 | 6e 20 61 6c 70 68 61 5f 6c 69 73 74 5d 29 5c 6e 70 6f 6c 79 2e 73 65 74 5f 61 6c 70 68 61 28 30 | n.alpha_list])\npoly.set_alpha(0 |
7c00 | 2e 37 29 5c 6e 61 78 2e 61 64 64 5f 63 6f 6c 6c 65 63 74 69 6f 6e 33 64 28 70 6f 6c 79 2c 20 7a | .7)\nax.add_collection3d(poly,.z |
7c20 | 73 3d 7a 73 2c 20 7a 64 69 72 3d 27 79 27 29 5c 6e 61 78 2e 73 65 74 5f 78 6c 61 62 65 6c 28 27 | s=zs,.zdir='y')\nax.set_xlabel(' |
7c40 | 78 27 29 5c 6e 61 78 2e 73 65 74 5f 78 6c 69 6d 33 64 28 30 2c 20 6e 29 5c 6e 61 78 2e 73 65 74 | x')\nax.set_xlim3d(0,.n)\nax.set |
7c60 | 5f 79 6c 61 62 65 6c 28 27 24 5c 5c 5c 5c 61 6c 70 68 61 24 27 29 5c 6e 61 78 2e 73 65 74 5f 79 | _ylabel('$\\\\alpha$')\nax.set_y |
7c80 | 6c 69 6d 33 64 28 30 2c 20 31 29 5c 6e 61 78 2e 73 65 74 5f 7a 6c 61 62 65 6c 28 27 27 29 5c 6e | lim3d(0,.1)\nax.set_zlabel('')\n |
7ca0 | 61 78 2e 73 65 74 5f 7a 6c 69 6d 33 64 28 30 2c 20 42 5f 6c 32 2e 6d 61 78 28 29 20 2a 20 31 2e | ax.set_zlim3d(0,.B_l2.max().*.1. |
7cc0 | 30 31 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 42 61 72 79 63 65 6e 74 65 72 20 69 6e 74 65 72 70 | 01)\npl.title('Barycenter.interp |
7ce0 | 6f 6c 61 74 69 6f 6e 20 77 69 74 68 20 6c 32 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f | olation.with.l2')\npl.tight_layo |
7d00 | 75 74 28 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 34 29 5c 6e 63 6d 61 70 20 3d 20 70 6c 2e | ut()\n\npl.figure(4)\ncmap.=.pl. |
7d20 | 63 6d 2e 67 65 74 5f 63 6d 61 70 28 27 76 69 72 69 64 69 73 27 29 5c 6e 76 65 72 74 73 20 3d 20 | cm.get_cmap('viridis')\nverts.=. |
7d40 | 5b 5d 5c 6e 7a 73 20 3d 20 61 6c 70 68 61 5f 6c 69 73 74 5c 6e 66 6f 72 20 69 2c 20 7a 20 69 6e | []\nzs.=.alpha_list\nfor.i,.z.in |
7d60 | 20 65 6e 75 6d 65 72 61 74 65 28 7a 73 29 3a 5c 6e 20 20 20 20 79 73 20 3d 20 42 5f 77 61 73 73 | .enumerate(zs):\n....ys.=.B_wass |
7d80 | 5b 3a 2c 20 69 5d 5c 6e 20 20 20 20 76 65 72 74 73 2e 61 70 70 65 6e 64 28 6c 69 73 74 28 7a 69 | [:,.i]\n....verts.append(list(zi |
7da0 | 70 28 78 2c 20 79 73 29 29 29 5c 6e 5c 6e 61 78 20 3d 20 70 6c 2e 67 63 66 28 29 2e 67 63 61 28 | p(x,.ys)))\n\nax.=.pl.gcf().gca( |
7dc0 | 70 72 6f 6a 65 63 74 69 6f 6e 3d 27 33 64 27 29 5c 6e 5c 6e 70 6f 6c 79 20 3d 20 50 6f 6c 79 43 | projection='3d')\n\npoly.=.PolyC |
7de0 | 6f 6c 6c 65 63 74 69 6f 6e 28 76 65 72 74 73 2c 20 66 61 63 65 63 6f 6c 6f 72 73 3d 5b 63 6d 61 | ollection(verts,.facecolors=[cma |
7e00 | 70 28 61 29 20 66 6f 72 20 61 20 69 6e 20 61 6c 70 68 61 5f 6c 69 73 74 5d 29 5c 6e 70 6f 6c 79 | p(a).for.a.in.alpha_list])\npoly |
7e20 | 2e 73 65 74 5f 61 6c 70 68 61 28 30 2e 37 29 5c 6e 61 78 2e 61 64 64 5f 63 6f 6c 6c 65 63 74 69 | .set_alpha(0.7)\nax.add_collecti |
7e40 | 6f 6e 33 64 28 70 6f 6c 79 2c 20 7a 73 3d 7a 73 2c 20 7a 64 69 72 3d 27 79 27 29 5c 6e 61 78 2e | on3d(poly,.zs=zs,.zdir='y')\nax. |
7e60 | 73 65 74 5f 78 6c 61 62 65 6c 28 27 78 27 29 5c 6e 61 78 2e 73 65 74 5f 78 6c 69 6d 33 64 28 30 | set_xlabel('x')\nax.set_xlim3d(0 |
7e80 | 2c 20 6e 29 5c 6e 61 78 2e 73 65 74 5f 79 6c 61 62 65 6c 28 27 24 5c 5c 5c 5c 61 6c 70 68 61 24 | ,.n)\nax.set_ylabel('$\\\\alpha$ |
7ea0 | 27 29 5c 6e 61 78 2e 73 65 74 5f 79 6c 69 6d 33 64 28 30 2c 20 31 29 5c 6e 61 78 2e 73 65 74 5f | ')\nax.set_ylim3d(0,.1)\nax.set_ |
7ec0 | 7a 6c 61 62 65 6c 28 27 27 29 5c 6e 61 78 2e 73 65 74 5f 7a 6c 69 6d 33 64 28 30 2c 20 42 5f 6c | zlabel('')\nax.set_zlim3d(0,.B_l |
7ee0 | 32 2e 6d 61 78 28 29 20 2a 20 31 2e 30 31 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 42 61 72 79 63 | 2.max().*.1.01)\npl.title('Baryc |
7f00 | 65 6e 74 65 72 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 20 77 69 74 68 20 57 61 73 73 65 72 73 | enter.interpolation.with.Wassers |
7f20 | 74 65 69 6e 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 5c 6e 5c 6e 70 6c 2e | tein')\npl.tight_layout()\n\npl. |
7f40 | 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 | show()".......],........"outputs |
7f60 | 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 | ":.[],........"metadata":.{..... |
7f80 | 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 | ...."collapsed":.false.......}.. |
7fa0 | 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 | ...}...],...."metadata":.{....." |
7fc0 | 6b 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 | kernelspec":.{......."display_na |
7fe0 | 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 | me":."Python.2",........"name":. |
8000 | 22 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 | "python2",........"language":."p |
8020 | 79 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 | ython".....},......"language_inf |
8040 | 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d | o":.{......."mimetype":."text/x- |
8060 | 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 | python",........"nbconvert_expor |
8080 | 74 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 | ter":."python",........"name":." |
80a0 | 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 | python",........"file_extension" |
80c0 | 3a 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e | :.".py",........"version":."2.7. |
80e0 | 31 32 22 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 | 12",........"pygments_lexer":."i |
8100 | 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 | python2",........"codemirror_mod |
8120 | 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 | e":.{........."version":.2,..... |
8140 | 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 | ....."name":."ipython".......}.. |
8160 | 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 9c 86 1e 4b f2 bc 11 4b 08 19 00 00 | ...}...}.}PK...........K...K.... |
8180 | 08 19 00 00 25 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 6f 74 64 61 5f | ....%...auto_examples/plot_otda_ |
81a0 | 63 6c 61 73 73 65 73 2e 69 70 79 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 | classes.ipynb{..."nbformat_minor |
81c0 | 22 3a 20 30 2c 20 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c | ":.0,...."nbformat":.4,...."cell |
81e0 | 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 | s":.[.....{......."execution_cou |
8200 | 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 | nt":.null,........"cell_type":." |
8220 | 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 | code",........"source":.[....... |
8240 | 20 20 22 25 6d 61 74 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 | .."%matplotlib.inline".......],. |
8260 | 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 | ......."outputs":.[],........"me |
8280 | 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 | tadata":.{........."collapsed":. |
82a0 | 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 | false.......}.....},......{..... |
82c0 | 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 23 20 4f 54 20 66 6f | .."source":.[........."\n#.OT.fo |
82e0 | 72 20 64 6f 6d 61 69 6e 20 61 64 61 70 74 61 74 69 6f 6e 5c 6e 5c 6e 5c 6e 54 68 69 73 20 65 78 | r.domain.adaptation\n\n\nThis.ex |
8300 | 61 6d 70 6c 65 20 69 6e 74 72 6f 64 75 63 65 73 20 61 20 64 6f 6d 61 69 6e 20 61 64 61 70 74 61 | ample.introduces.a.domain.adapta |
8320 | 74 69 6f 6e 20 69 6e 20 61 20 32 44 20 73 65 74 74 69 6e 67 20 61 6e 64 20 74 68 65 20 34 20 4f | tion.in.a.2D.setting.and.the.4.O |
8340 | 54 44 41 5c 6e 61 70 70 72 6f 61 63 68 65 73 20 63 75 72 72 65 6e 74 6c 79 20 73 75 70 70 6f 72 | TDA\napproaches.currently.suppor |
8360 | 74 65 64 20 69 6e 20 50 4f 54 2e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 | ted.in.POT.\n\n\n".......],..... |
8380 | 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 | ..."cell_type":."markdown",..... |
83a0 | 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a | ..."metadata":.{}.....},......{. |
83c0 | 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a | ......"execution_count":.null,.. |
83e0 | 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 | ......"cell_type":."code",...... |
8400 | 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 20 41 75 74 68 6f 72 73 | .."source":.[........."#.Authors |
8420 | 3a 20 52 65 6d 69 20 46 6c 61 6d 61 72 79 20 3c 72 65 6d 69 2e 66 6c 61 6d 61 72 79 40 75 6e 69 | :.Remi.Flamary.<remi.flamary@uni |
8440 | 63 65 2e 66 72 3e 5c 6e 23 20 20 20 20 20 20 20 20 20 20 53 74 61 6e 69 73 6c 61 73 20 43 68 61 | ce.fr>\n#..........Stanislas.Cha |
8460 | 6d 62 6f 6e 20 3c 73 74 61 6e 2e 63 68 61 6d 62 6f 6e 40 67 6d 61 69 6c 2e 63 6f 6d 3e 5c 6e 23 | mbon.<stan.chambon@gmail.com>\n# |
8480 | 5c 6e 23 20 4c 69 63 65 6e 73 65 3a 20 4d 49 54 20 4c 69 63 65 6e 73 65 5c 6e 5c 6e 69 6d 70 6f | \n#.License:.MIT.License\n\nimpo |
84a0 | 72 74 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 | rt.matplotlib.pylab.as.pl\nimpor |
84c0 | 74 20 6f 74 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a | t.ot".......],........"outputs": |
84e0 | 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 | .[],........"metadata":.{....... |
8500 | 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 | .."collapsed":.false.......}.... |
8520 | 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | .},......{......."source":.[.... |
8540 | 20 20 20 20 20 22 67 65 6e 65 72 61 74 65 20 64 61 74 61 5c 6e 23 23 23 23 23 23 23 23 23 23 23 | ....."generate.data\n########### |
8560 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
8580 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
85a0 | 23 23 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 | ##\n\n".......],........"cell_ty |
85c0 | 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 | pe":."markdown",........"metadat |
85e0 | 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 | a":.{}.....},......{......."exec |
8600 | 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c | ution_count":.null,........"cell |
8620 | 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a | _type":."code",........"source": |
8640 | 20 5b 0a 20 20 20 20 20 20 20 20 22 6e 5f 73 6f 75 72 63 65 5f 73 61 6d 70 6c 65 73 20 3d 20 31 | .[........."n_source_samples.=.1 |
8660 | 35 30 5c 6e 6e 5f 74 61 72 67 65 74 5f 73 61 6d 70 6c 65 73 20 3d 20 31 35 30 5c 6e 5c 6e 58 73 | 50\nn_target_samples.=.150\n\nXs |
8680 | 2c 20 79 73 20 3d 20 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 64 61 74 61 5f 63 6c 61 73 | ,.ys.=.ot.datasets.get_data_clas |
86a0 | 73 69 66 28 27 33 67 61 75 73 73 27 2c 20 6e 5f 73 6f 75 72 63 65 5f 73 61 6d 70 6c 65 73 29 5c | sif('3gauss',.n_source_samples)\ |
86c0 | 6e 58 74 2c 20 79 74 20 3d 20 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 64 61 74 61 5f 63 | nXt,.yt.=.ot.datasets.get_data_c |
86e0 | 6c 61 73 73 69 66 28 27 33 67 61 75 73 73 32 27 2c 20 6e 5f 74 61 72 67 65 74 5f 73 61 6d 70 6c | lassif('3gauss2',.n_target_sampl |
8700 | 65 73 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 | es)".......],........"outputs":. |
8720 | 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 | [],........"metadata":.{........ |
8740 | 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 | ."collapsed":.false.......}..... |
8760 | 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 | },......{......."source":.[..... |
8780 | 20 20 20 20 22 49 6e 73 74 61 6e 74 69 61 74 65 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 20 74 | ...."Instantiate.the.different.t |
87a0 | 72 61 6e 73 70 6f 72 74 20 61 6c 67 6f 72 69 74 68 6d 73 20 61 6e 64 20 66 69 74 20 74 68 65 6d | ransport.algorithms.and.fit.them |
87c0 | 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | \n############################## |
87e0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
8800 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 | ###############\n\n".......],... |
8820 | 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 | ....."cell_type":."markdown",... |
8840 | 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 | ....."metadata":.{}.....},...... |
8860 | 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c | {......."execution_count":.null, |
8880 | 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 | ........"cell_type":."code",.... |
88a0 | 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 20 45 4d 44 20 54 | ...."source":.[........."#.EMD.T |
88c0 | 72 61 6e 73 70 6f 72 74 5c 6e 6f 74 5f 65 6d 64 20 3d 20 6f 74 2e 64 61 2e 45 4d 44 54 72 61 6e | ransport\not_emd.=.ot.da.EMDTran |
88e0 | 73 70 6f 72 74 28 29 5c 6e 6f 74 5f 65 6d 64 2e 66 69 74 28 58 73 3d 58 73 2c 20 58 74 3d 58 74 | sport()\not_emd.fit(Xs=Xs,.Xt=Xt |
8900 | 29 5c 6e 5c 6e 23 20 53 69 6e 6b 68 6f 72 6e 20 54 72 61 6e 73 70 6f 72 74 5c 6e 6f 74 5f 73 69 | )\n\n#.Sinkhorn.Transport\not_si |
8920 | 6e 6b 68 6f 72 6e 20 3d 20 6f 74 2e 64 61 2e 53 69 6e 6b 68 6f 72 6e 54 72 61 6e 73 70 6f 72 74 | nkhorn.=.ot.da.SinkhornTransport |
8940 | 28 72 65 67 5f 65 3d 31 65 2d 31 29 5c 6e 6f 74 5f 73 69 6e 6b 68 6f 72 6e 2e 66 69 74 28 58 73 | (reg_e=1e-1)\not_sinkhorn.fit(Xs |
8960 | 3d 58 73 2c 20 58 74 3d 58 74 29 5c 6e 5c 6e 23 20 53 69 6e 6b 68 6f 72 6e 20 54 72 61 6e 73 70 | =Xs,.Xt=Xt)\n\n#.Sinkhorn.Transp |
8980 | 6f 72 74 20 77 69 74 68 20 47 72 6f 75 70 20 6c 61 73 73 6f 20 72 65 67 75 6c 61 72 69 7a 61 74 | ort.with.Group.lasso.regularizat |
89a0 | 69 6f 6e 5c 6e 6f 74 5f 6c 70 6c 31 20 3d 20 6f 74 2e 64 61 2e 53 69 6e 6b 68 6f 72 6e 4c 70 6c | ion\not_lpl1.=.ot.da.SinkhornLpl |
89c0 | 31 54 72 61 6e 73 70 6f 72 74 28 72 65 67 5f 65 3d 31 65 2d 31 2c 20 72 65 67 5f 63 6c 3d 31 65 | 1Transport(reg_e=1e-1,.reg_cl=1e |
89e0 | 30 29 5c 6e 6f 74 5f 6c 70 6c 31 2e 66 69 74 28 58 73 3d 58 73 2c 20 79 73 3d 79 73 2c 20 58 74 | 0)\not_lpl1.fit(Xs=Xs,.ys=ys,.Xt |
8a00 | 3d 58 74 29 5c 6e 5c 6e 23 20 53 69 6e 6b 68 6f 72 6e 20 54 72 61 6e 73 70 6f 72 74 20 77 69 74 | =Xt)\n\n#.Sinkhorn.Transport.wit |
8a20 | 68 20 47 72 6f 75 70 20 6c 61 73 73 6f 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 20 6c 31 6c | h.Group.lasso.regularization.l1l |
8a40 | 32 5c 6e 6f 74 5f 6c 31 6c 32 20 3d 20 6f 74 2e 64 61 2e 53 69 6e 6b 68 6f 72 6e 4c 31 6c 32 54 | 2\not_l1l2.=.ot.da.SinkhornL1l2T |
8a60 | 72 61 6e 73 70 6f 72 74 28 72 65 67 5f 65 3d 31 65 2d 31 2c 20 72 65 67 5f 63 6c 3d 32 65 30 2c | ransport(reg_e=1e-1,.reg_cl=2e0, |
8a80 | 20 6d 61 78 5f 69 74 65 72 3d 32 30 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .max_iter=20,\n................. |
8aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 65 72 62 6f 73 65 3d 54 72 75 | .....................verbose=Tru |
8ac0 | 65 29 5c 6e 6f 74 5f 6c 31 6c 32 2e 66 69 74 28 58 73 3d 58 73 2c 20 79 73 3d 79 73 2c 20 58 74 | e)\not_l1l2.fit(Xs=Xs,.ys=ys,.Xt |
8ae0 | 3d 58 74 29 5c 6e 5c 6e 23 20 74 72 61 6e 73 70 6f 72 74 20 73 6f 75 72 63 65 20 73 61 6d 70 6c | =Xt)\n\n#.transport.source.sampl |
8b00 | 65 73 20 6f 6e 74 6f 20 74 61 72 67 65 74 20 73 61 6d 70 6c 65 73 5c 6e 74 72 61 6e 73 70 5f 58 | es.onto.target.samples\ntransp_X |
8b20 | 73 5f 65 6d 64 20 3d 20 6f 74 5f 65 6d 64 2e 74 72 61 6e 73 66 6f 72 6d 28 58 73 3d 58 73 29 5c | s_emd.=.ot_emd.transform(Xs=Xs)\ |
8b40 | 6e 74 72 61 6e 73 70 5f 58 73 5f 73 69 6e 6b 68 6f 72 6e 20 3d 20 6f 74 5f 73 69 6e 6b 68 6f 72 | ntransp_Xs_sinkhorn.=.ot_sinkhor |
8b60 | 6e 2e 74 72 61 6e 73 66 6f 72 6d 28 58 73 3d 58 73 29 5c 6e 74 72 61 6e 73 70 5f 58 73 5f 6c 70 | n.transform(Xs=Xs)\ntransp_Xs_lp |
8b80 | 6c 31 20 3d 20 6f 74 5f 6c 70 6c 31 2e 74 72 61 6e 73 66 6f 72 6d 28 58 73 3d 58 73 29 5c 6e 74 | l1.=.ot_lpl1.transform(Xs=Xs)\nt |
8ba0 | 72 61 6e 73 70 5f 58 73 5f 6c 31 6c 32 20 3d 20 6f 74 5f 6c 31 6c 32 2e 74 72 61 6e 73 66 6f 72 | ransp_Xs_l1l2.=.ot_l1l2.transfor |
8bc0 | 6d 28 58 73 3d 58 73 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 | m(Xs=Xs)".......],........"outpu |
8be0 | 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 | ts":.[],........"metadata":.{... |
8c00 | 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d | ......"collapsed":.false.......} |
8c20 | 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b | .....},......{......."source":.[ |
8c40 | 0a 20 20 20 20 20 20 20 20 22 46 69 67 20 31 20 3a 20 70 6c 6f 74 73 20 73 6f 75 72 63 65 20 61 | ........."Fig.1.:.plots.source.a |
8c60 | 6e 64 20 74 61 72 67 65 74 20 73 61 6d 70 6c 65 73 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 | nd.target.samples\n############# |
8c80 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
8ca0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
8cc0 | 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 | \n\n".......],........"cell_type |
8ce0 | 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 | ":."markdown",........"metadata" |
8d00 | 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 | :.{}.....},......{......."execut |
8d20 | 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 | ion_count":.null,........"cell_t |
8d40 | 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b | ype":."code",........"source":.[ |
8d60 | 0a 20 20 20 20 20 20 20 20 22 70 6c 2e 66 69 67 75 72 65 28 31 2c 20 66 69 67 73 69 7a 65 3d 28 | ........."pl.figure(1,.figsize=( |
8d80 | 31 30 2c 20 35 29 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 32 2c 20 31 29 5c 6e 70 6c | 10,.5))\npl.subplot(1,.2,.1)\npl |
8da0 | 2e 73 63 61 74 74 65 72 28 58 73 5b 3a 2c 20 30 5d 2c 20 58 73 5b 3a 2c 20 31 5d 2c 20 63 3d 79 | .scatter(Xs[:,.0],.Xs[:,.1],.c=y |
8dc0 | 73 2c 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d | s,.marker='+',.label='Source.sam |
8de0 | 70 6c 65 73 27 29 5c 6e 70 6c 2e 78 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 | ples')\npl.xticks([])\npl.yticks |
8e00 | 28 5b 5d 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 | ([])\npl.legend(loc=0)\npl.title |
8e20 | 28 27 53 6f 75 72 63 65 20 20 73 61 6d 70 6c 65 73 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f | ('Source..samples')\n\npl.subplo |
8e40 | 74 28 31 2c 20 32 2c 20 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 74 5b 3a 2c 20 30 5d 2c | t(1,.2,.2)\npl.scatter(Xt[:,.0], |
8e60 | 20 58 74 5b 3a 2c 20 31 5d 2c 20 63 3d 79 74 2c 20 6d 61 72 6b 65 72 3d 27 6f 27 2c 20 6c 61 62 | .Xt[:,.1],.c=yt,.marker='o',.lab |
8e80 | 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 78 74 69 63 6b 73 28 | el='Target.samples')\npl.xticks( |
8ea0 | 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f | [])\npl.yticks([])\npl.legend(lo |
8ec0 | 63 3d 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 | c=0)\npl.title('Target.samples') |
8ee0 | 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 | \npl.tight_layout()".......],... |
8f00 | 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 | ....."outputs":.[],........"meta |
8f20 | 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 | data":.{........."collapsed":.fa |
8f40 | 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 | lse.......}.....},......{....... |
8f60 | 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 69 67 20 32 20 3a 20 70 6c 6f | "source":.[........."Fig.2.:.plo |
8f80 | 74 20 6f 70 74 69 6d 61 6c 20 63 6f 75 70 6c 69 6e 67 73 20 61 6e 64 20 74 72 61 6e 73 70 6f 72 | t.optimal.couplings.and.transpor |
8fa0 | 74 65 64 20 73 61 6d 70 6c 65 73 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ted.samples\n################### |
8fc0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
8fe0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c 6e 22 0a | ##########################\n\n". |
9000 | 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 | ......],........"cell_type":."ma |
9020 | 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 | rkdown",........"metadata":.{}.. |
9040 | 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f | ...},......{......."execution_co |
9060 | 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 | unt":.null,........"cell_type":. |
9080 | 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 | "code",........"source":.[...... |
90a0 | 20 20 20 22 70 61 72 61 6d 5f 69 6d 67 20 3d 20 7b 27 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 27 | ..."param_img.=.{'interpolation' |
90c0 | 3a 20 27 6e 65 61 72 65 73 74 27 2c 20 27 63 6d 61 70 27 3a 20 27 73 70 65 63 74 72 61 6c 27 7d | :.'nearest',.'cmap':.'spectral'} |
90e0 | 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 2c 20 66 69 67 73 69 7a 65 3d 28 31 35 2c 20 38 29 | \n\npl.figure(2,.figsize=(15,.8) |
9100 | 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 34 2c 20 31 29 5c 6e 70 6c 2e 69 6d 73 68 6f | )\npl.subplot(2,.4,.1)\npl.imsho |
9120 | 77 28 6f 74 5f 65 6d 64 2e 63 6f 75 70 6c 69 6e 67 5f 2c 20 2a 2a 70 61 72 61 6d 5f 69 6d 67 29 | w(ot_emd.coupling_,.**param_img) |
9140 | 5c 6e 70 6c 2e 78 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e | \npl.xticks([])\npl.yticks([])\n |
9160 | 70 6c 2e 74 69 74 6c 65 28 27 4f 70 74 69 6d 61 6c 20 63 6f 75 70 6c 69 6e 67 5c 5c 6e 45 4d 44 | pl.title('Optimal.coupling\\nEMD |
9180 | 54 72 61 6e 73 70 6f 72 74 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 34 2c 20 | Transport')\n\npl.subplot(2,.4,. |
91a0 | 32 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 6f 74 5f 73 69 6e 6b 68 6f 72 6e 2e 63 6f 75 70 6c 69 | 2)\npl.imshow(ot_sinkhorn.coupli |
91c0 | 6e 67 5f 2c 20 2a 2a 70 61 72 61 6d 5f 69 6d 67 29 5c 6e 70 6c 2e 78 74 69 63 6b 73 28 5b 5d 29 | ng_,.**param_img)\npl.xticks([]) |
91e0 | 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 70 74 69 6d | \npl.yticks([])\npl.title('Optim |
9200 | 61 6c 20 63 6f 75 70 6c 69 6e 67 5c 5c 6e 53 69 6e 6b 68 6f 72 6e 54 72 61 6e 73 70 6f 72 74 27 | al.coupling\\nSinkhornTransport' |
9220 | 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 34 2c 20 33 29 5c 6e 70 6c 2e 69 6d 73 | )\n\npl.subplot(2,.4,.3)\npl.ims |
9240 | 68 6f 77 28 6f 74 5f 6c 70 6c 31 2e 63 6f 75 70 6c 69 6e 67 5f 2c 20 2a 2a 70 61 72 61 6d 5f 69 | how(ot_lpl1.coupling_,.**param_i |
9260 | 6d 67 29 5c 6e 70 6c 2e 78 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d | mg)\npl.xticks([])\npl.yticks([] |
9280 | 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 70 74 69 6d 61 6c 20 63 6f 75 70 6c 69 6e 67 5c 5c 6e | )\npl.title('Optimal.coupling\\n |
92a0 | 53 69 6e 6b 68 6f 72 6e 4c 70 6c 31 54 72 61 6e 73 70 6f 72 74 27 29 5c 6e 5c 6e 70 6c 2e 73 75 | SinkhornLpl1Transport')\n\npl.su |
92c0 | 62 70 6c 6f 74 28 32 2c 20 34 2c 20 34 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 6f 74 5f 6c 31 6c | bplot(2,.4,.4)\npl.imshow(ot_l1l |
92e0 | 32 2e 63 6f 75 70 6c 69 6e 67 5f 2c 20 2a 2a 70 61 72 61 6d 5f 69 6d 67 29 5c 6e 70 6c 2e 78 74 | 2.coupling_,.**param_img)\npl.xt |
9300 | 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 74 69 74 6c | icks([])\npl.yticks([])\npl.titl |
9320 | 65 28 27 4f 70 74 69 6d 61 6c 20 63 6f 75 70 6c 69 6e 67 5c 5c 6e 53 69 6e 6b 68 6f 72 6e 4c 31 | e('Optimal.coupling\\nSinkhornL1 |
9340 | 6c 32 54 72 61 6e 73 70 6f 72 74 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 34 | l2Transport')\n\npl.subplot(2,.4 |
9360 | 2c 20 35 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 74 5b 3a 2c 20 30 5d 2c 20 58 74 5b 3a 2c | ,.5)\npl.scatter(Xt[:,.0],.Xt[:, |
9380 | 20 31 5d 2c 20 63 3d 79 74 2c 20 6d 61 72 6b 65 72 3d 27 6f 27 2c 5c 6e 20 20 20 20 20 20 20 20 | .1],.c=yt,.marker='o',\n........ |
93a0 | 20 20 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 20 61 6c 70 68 61 | ...label='Target.samples',.alpha |
93c0 | 3d 30 2e 33 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 74 72 61 6e 73 70 5f 58 73 5f 65 6d 64 5b | =0.3)\npl.scatter(transp_Xs_emd[ |
93e0 | 3a 2c 20 30 5d 2c 20 74 72 61 6e 73 70 5f 58 73 5f 65 6d 64 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 | :,.0],.transp_Xs_emd[:,.1],.c=ys |
9400 | 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d | ,\n...........marker='+',.label= |
9420 | 27 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 20 73 3d 33 30 29 5c 6e 70 6c 2e 78 74 69 63 | 'Transp.samples',.s=30)\npl.xtic |
9440 | 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 | ks([])\npl.yticks([])\npl.title( |
9460 | 27 54 72 61 6e 73 70 6f 72 74 65 64 20 73 61 6d 70 6c 65 73 5c 5c 6e 45 6d 64 54 72 61 6e 73 70 | 'Transported.samples\\nEmdTransp |
9480 | 6f 72 74 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 5c 22 6c 6f 77 65 72 20 6c 65 66 | ort')\npl.legend(loc=\"lower.lef |
94a0 | 74 5c 22 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 34 2c 20 36 29 5c 6e 70 6c 2e | t\")\n\npl.subplot(2,.4,.6)\npl. |
94c0 | 73 63 61 74 74 65 72 28 58 74 5b 3a 2c 20 30 5d 2c 20 58 74 5b 3a 2c 20 31 5d 2c 20 63 3d 79 74 | scatter(Xt[:,.0],.Xt[:,.1],.c=yt |
94e0 | 2c 20 6d 61 72 6b 65 72 3d 27 6f 27 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 6c 61 62 65 6c 3d | ,.marker='o',\n...........label= |
9500 | 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 20 61 6c 70 68 61 3d 30 2e 33 29 5c 6e 70 6c | 'Target.samples',.alpha=0.3)\npl |
9520 | 2e 73 63 61 74 74 65 72 28 74 72 61 6e 73 70 5f 58 73 5f 73 69 6e 6b 68 6f 72 6e 5b 3a 2c 20 30 | .scatter(transp_Xs_sinkhorn[:,.0 |
9540 | 5d 2c 20 74 72 61 6e 73 70 5f 58 73 5f 73 69 6e 6b 68 6f 72 6e 5b 3a 2c 20 31 5d 2c 20 63 3d 79 | ],.transp_Xs_sinkhorn[:,.1],.c=y |
9560 | 73 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c | s,\n...........marker='+',.label |
9580 | 3d 27 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 20 73 3d 33 30 29 5c 6e 70 6c 2e 78 74 69 | ='Transp.samples',.s=30)\npl.xti |
95a0 | 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 74 69 74 6c 65 | cks([])\npl.yticks([])\npl.title |
95c0 | 28 27 54 72 61 6e 73 70 6f 72 74 65 64 20 73 61 6d 70 6c 65 73 5c 5c 6e 53 69 6e 6b 68 6f 72 6e | ('Transported.samples\\nSinkhorn |
95e0 | 54 72 61 6e 73 70 6f 72 74 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 34 2c 20 | Transport')\n\npl.subplot(2,.4,. |
9600 | 37 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 74 5b 3a 2c 20 30 5d 2c 20 58 74 5b 3a 2c 20 31 | 7)\npl.scatter(Xt[:,.0],.Xt[:,.1 |
9620 | 5d 2c 20 63 3d 79 74 2c 20 6d 61 72 6b 65 72 3d 27 6f 27 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 | ],.c=yt,.marker='o',\n.......... |
9640 | 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 20 61 6c 70 68 61 3d 30 | .label='Target.samples',.alpha=0 |
9660 | 2e 33 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 74 72 61 6e 73 70 5f 58 73 5f 6c 70 6c 31 5b 3a | .3)\npl.scatter(transp_Xs_lpl1[: |
9680 | 2c 20 30 5d 2c 20 74 72 61 6e 73 70 5f 58 73 5f 6c 70 6c 31 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 | ,.0],.transp_Xs_lpl1[:,.1],.c=ys |
96a0 | 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d | ,\n...........marker='+',.label= |
96c0 | 27 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 20 73 3d 33 30 29 5c 6e 70 6c 2e 78 74 69 63 | 'Transp.samples',.s=30)\npl.xtic |
96e0 | 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 | ks([])\npl.yticks([])\npl.title( |
9700 | 27 54 72 61 6e 73 70 6f 72 74 65 64 20 73 61 6d 70 6c 65 73 5c 5c 6e 53 69 6e 6b 68 6f 72 6e 4c | 'Transported.samples\\nSinkhornL |
9720 | 70 6c 31 54 72 61 6e 73 70 6f 72 74 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 | pl1Transport')\n\npl.subplot(2,. |
9740 | 34 2c 20 38 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 74 5b 3a 2c 20 30 5d 2c 20 58 74 5b 3a | 4,.8)\npl.scatter(Xt[:,.0],.Xt[: |
9760 | 2c 20 31 5d 2c 20 63 3d 79 74 2c 20 6d 61 72 6b 65 72 3d 27 6f 27 2c 5c 6e 20 20 20 20 20 20 20 | ,.1],.c=yt,.marker='o',\n....... |
9780 | 20 20 20 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 20 61 6c 70 68 | ....label='Target.samples',.alph |
97a0 | 61 3d 30 2e 33 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 74 72 61 6e 73 70 5f 58 73 5f 6c 31 6c | a=0.3)\npl.scatter(transp_Xs_l1l |
97c0 | 32 5b 3a 2c 20 30 5d 2c 20 74 72 61 6e 73 70 5f 58 73 5f 6c 31 6c 32 5b 3a 2c 20 31 5d 2c 20 63 | 2[:,.0],.transp_Xs_l1l2[:,.1],.c |
97e0 | 3d 79 73 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 | =ys,\n...........marker='+',.lab |
9800 | 65 6c 3d 27 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 20 73 3d 33 30 29 5c 6e 70 6c 2e 78 | el='Transp.samples',.s=30)\npl.x |
9820 | 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 6c 2e 74 69 74 | ticks([])\npl.yticks([])\npl.tit |
9840 | 6c 65 28 27 54 72 61 6e 73 70 6f 72 74 65 64 20 73 61 6d 70 6c 65 73 5c 5c 6e 53 69 6e 6b 68 6f | le('Transported.samples\\nSinkho |
9860 | 72 6e 4c 31 6c 32 54 72 61 6e 73 70 6f 72 74 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f | rnL1l2Transport')\npl.tight_layo |
9880 | 75 74 28 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 | ut()\n\npl.show()".......],..... |
98a0 | 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 | ..."outputs":.[],........"metada |
98c0 | 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 | ta":.{........."collapsed":.fals |
98e0 | 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 | e.......}.....}...],...."metadat |
9900 | 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 | a":.{....."kernelspec":.{....... |
9920 | 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 | "display_name":."Python.2",..... |
9940 | 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 | ..."name":."python2",........"la |
9960 | 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c | nguage":."python".....},......"l |
9980 | 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 | anguage_info":.{......."mimetype |
99a0 | 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f | ":."text/x-python",........"nbco |
99c0 | 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 | nvert_exporter":."python",...... |
99e0 | 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 | .."name":."python",........"file |
9a00 | 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 | _extension":.".py",........"vers |
9a20 | 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 | ion":."2.7.12",........"pygments |
9a40 | 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 | _lexer":."ipython2",........"cod |
9a60 | 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f | emirror_mode":.{........."versio |
9a80 | 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e | n":.2,.........."name":."ipython |
9aa0 | 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 0d | ".......}.....}...}.}PK......... |
9ac0 | 88 1e 4b c8 39 53 c8 df 19 00 00 df 19 00 00 33 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 | ..K.9S.........3...auto_examples |
9ae0 | 2f 70 6c 6f 74 5f 6f 74 64 61 5f 6d 61 70 70 69 6e 67 5f 63 6f 6c 6f 72 73 5f 69 6d 61 67 65 73 | /plot_otda_mapping_colors_images |
9b00 | 2e 69 70 79 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a | .ipynb{..."nbformat_minor":.0,.. |
9b20 | 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 | .."nbformat":.4,...."cells":.[.. |
9b40 | 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 | ...{......."execution_count":.nu |
9b60 | 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 | ll,........"cell_type":."code",. |
9b80 | 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 74 | ......."source":.[........."%mat |
9ba0 | 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 | plotlib.inline".......],........ |
9bc0 | 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 | "outputs":.[],........"metadata" |
9be0 | 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 | :.{........."collapsed":.false.. |
9c00 | 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 | .....}.....},......{......."sour |
9c20 | 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ce":.[........."\n============== |
9c40 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
9c60 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
9c80 | 3d 3d 3d 3d 3d 3d 5c 6e 4f 54 20 66 6f 72 20 64 6f 6d 61 69 6e 20 61 64 61 70 74 61 74 69 6f 6e | ======\nOT.for.domain.adaptation |
9ca0 | 20 77 69 74 68 20 69 6d 61 67 65 20 63 6f 6c 6f 72 20 61 64 61 70 74 61 74 69 6f 6e 20 5b 36 5d | .with.image.color.adaptation.[6] |
9cc0 | 20 77 69 74 68 20 6d 61 70 70 69 6e 67 20 65 73 74 69 6d 61 74 69 6f 6e 20 5b 38 5d 5c 6e 3d 3d | .with.mapping.estimation.[8]\n== |
9ce0 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
9d00 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
9d20 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 5c 6e 5b 36 5d 20 46 65 72 72 61 64 | ==================\n\n[6].Ferrad |
9d40 | 61 6e 73 2c 20 53 2e 2c 20 50 61 70 61 64 61 6b 69 73 2c 20 4e 2e 2c 20 50 65 79 72 65 2c 20 47 | ans,.S.,.Papadakis,.N.,.Peyre,.G |
9d60 | 2e 2c 20 26 20 41 75 6a 6f 6c 2c 20 4a 2e 20 46 2e 20 28 32 30 31 34 29 2e 20 52 65 67 75 6c 61 | .,.&.Aujol,.J..F..(2014)..Regula |
9d80 | 72 69 7a 65 64 5c 6e 20 20 20 20 64 69 73 63 72 65 74 65 20 6f 70 74 69 6d 61 6c 20 74 72 61 6e | rized\n....discrete.optimal.tran |
9da0 | 73 70 6f 72 74 2e 20 53 49 41 4d 20 4a 6f 75 72 6e 61 6c 20 6f 6e 20 49 6d 61 67 69 6e 67 20 53 | sport..SIAM.Journal.on.Imaging.S |
9dc0 | 63 69 65 6e 63 65 73 2c 20 37 28 33 29 2c 5c 6e 20 20 20 20 31 38 35 33 2d 31 38 38 32 2e 5c 6e | ciences,.7(3),\n....1853-1882.\n |
9de0 | 5b 38 5d 20 4d 2e 20 50 65 72 72 6f 74 2c 20 4e 2e 20 43 6f 75 72 74 79 2c 20 52 2e 20 46 6c 61 | [8].M..Perrot,.N..Courty,.R..Fla |
9e00 | 6d 61 72 79 2c 20 41 2e 20 48 61 62 72 61 72 64 2c 20 5c 22 4d 61 70 70 69 6e 67 20 65 73 74 69 | mary,.A..Habrard,.\"Mapping.esti |
9e20 | 6d 61 74 69 6f 6e 20 66 6f 72 5c 6e 20 20 20 20 64 69 73 63 72 65 74 65 20 6f 70 74 69 6d 61 6c | mation.for\n....discrete.optimal |
9e40 | 20 74 72 61 6e 73 70 6f 72 74 5c 22 2c 20 4e 65 75 72 61 6c 20 49 6e 66 6f 72 6d 61 74 69 6f 6e | .transport\",.Neural.Information |
9e60 | 20 50 72 6f 63 65 73 73 69 6e 67 20 53 79 73 74 65 6d 73 20 28 4e 49 50 53 29 2c 5c 6e 20 20 20 | .Processing.Systems.(NIPS),\n... |
9e80 | 20 32 30 31 36 2e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 | .2016.\n\n\n".......],........"c |
9ea0 | 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d | ell_type":."markdown",........"m |
9ec0 | 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 | etadata":.{}.....},......{...... |
9ee0 | 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 | ."execution_count":.null,....... |
9f00 | 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f | ."cell_type":."code",........"so |
9f20 | 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 20 41 75 74 68 6f 72 73 3a 20 52 65 6d | urce":.[........."#.Authors:.Rem |
9f40 | 69 20 46 6c 61 6d 61 72 79 20 3c 72 65 6d 69 2e 66 6c 61 6d 61 72 79 40 75 6e 69 63 65 2e 66 72 | i.Flamary.<remi.flamary@unice.fr |
9f60 | 3e 5c 6e 23 20 20 20 20 20 20 20 20 20 20 53 74 61 6e 69 73 6c 61 73 20 43 68 61 6d 62 6f 6e 20 | >\n#..........Stanislas.Chambon. |
9f80 | 3c 73 74 61 6e 2e 63 68 61 6d 62 6f 6e 40 67 6d 61 69 6c 2e 63 6f 6d 3e 5c 6e 23 5c 6e 23 20 4c | <stan.chambon@gmail.com>\n#\n#.L |
9fa0 | 69 63 65 6e 73 65 3a 20 4d 49 54 20 4c 69 63 65 6e 73 65 5c 6e 5c 6e 69 6d 70 6f 72 74 20 6e 75 | icense:.MIT.License\n\nimport.nu |
9fc0 | 6d 70 79 20 61 73 20 6e 70 5c 6e 66 72 6f 6d 20 73 63 69 70 79 20 69 6d 70 6f 72 74 20 6e 64 69 | mpy.as.np\nfrom.scipy.import.ndi |
9fe0 | 6d 61 67 65 5c 6e 69 6d 70 6f 72 74 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 70 79 6c 61 62 20 61 73 | mage\nimport.matplotlib.pylab.as |
a000 | 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 5c 6e 72 20 3d 20 6e 70 2e 72 61 6e 64 6f 6d 2e | .pl\nimport.ot\n\nr.=.np.random. |
a020 | 52 61 6e 64 6f 6d 53 74 61 74 65 28 34 32 29 5c 6e 5c 6e 5c 6e 64 65 66 20 69 6d 32 6d 61 74 28 | RandomState(42)\n\n\ndef.im2mat( |
a040 | 49 29 3a 5c 6e 20 20 20 20 5c 22 5c 22 5c 22 43 6f 6e 76 65 72 74 73 20 61 6e 64 20 69 6d 61 67 | I):\n....\"\"\"Converts.and.imag |
a060 | 65 20 74 6f 20 6d 61 74 72 69 78 20 28 6f 6e 65 20 70 69 78 65 6c 20 70 65 72 20 6c 69 6e 65 29 | e.to.matrix.(one.pixel.per.line) |
a080 | 5c 22 5c 22 5c 22 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 49 2e 72 65 73 68 61 70 65 28 28 49 2e | \"\"\"\n....return.I.reshape((I. |
a0a0 | 73 68 61 70 65 5b 30 5d 20 2a 20 49 2e 73 68 61 70 65 5b 31 5d 2c 20 49 2e 73 68 61 70 65 5b 32 | shape[0].*.I.shape[1],.I.shape[2 |
a0c0 | 5d 29 29 5c 6e 5c 6e 5c 6e 64 65 66 20 6d 61 74 32 69 6d 28 58 2c 20 73 68 61 70 65 29 3a 5c 6e | ]))\n\n\ndef.mat2im(X,.shape):\n |
a0e0 | 20 20 20 20 5c 22 5c 22 5c 22 43 6f 6e 76 65 72 74 73 20 62 61 63 6b 20 61 20 6d 61 74 72 69 78 | ....\"\"\"Converts.back.a.matrix |
a100 | 20 74 6f 20 61 6e 20 69 6d 61 67 65 5c 22 5c 22 5c 22 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 58 | .to.an.image\"\"\"\n....return.X |
a120 | 2e 72 65 73 68 61 70 65 28 73 68 61 70 65 29 5c 6e 5c 6e 5c 6e 64 65 66 20 6d 69 6e 6d 61 78 28 | .reshape(shape)\n\n\ndef.minmax( |
a140 | 49 29 3a 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 6e 70 2e 63 6c 69 70 28 49 2c 20 30 2c 20 31 29 | I):\n....return.np.clip(I,.0,.1) |
a160 | 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c | ".......],........"outputs":.[], |
a180 | 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 | ........"metadata":.{........."c |
a1a0 | 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 | ollapsed":.false.......}.....},. |
a1c0 | 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 | .....{......."source":.[........ |
a1e0 | 20 22 47 65 6e 65 72 61 74 65 20 64 61 74 61 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ."Generate.data\n############### |
a200 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
a220 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 5c 6e | ##############################\n |
a240 | 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a | \n".......],........"cell_type": |
a260 | 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 | ."markdown",........"metadata":. |
a280 | 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f | {}.....},......{......."executio |
a2a0 | 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 | n_count":.null,........"cell_typ |
a2c0 | 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 | e":."code",........"source":.[.. |
a2e0 | 20 20 20 20 20 20 20 22 23 20 4c 6f 61 64 69 6e 67 20 69 6d 61 67 65 73 5c 6e 49 31 20 3d 20 6e | ......."#.Loading.images\nI1.=.n |
a300 | 64 69 6d 61 67 65 2e 69 6d 72 65 61 64 28 27 2e 2e 2f 64 61 74 61 2f 6f 63 65 61 6e 5f 64 61 79 | dimage.imread('../data/ocean_day |
a320 | 2e 6a 70 67 27 29 2e 61 73 74 79 70 65 28 6e 70 2e 66 6c 6f 61 74 36 34 29 20 2f 20 32 35 36 5c | .jpg').astype(np.float64)./.256\ |
a340 | 6e 49 32 20 3d 20 6e 64 69 6d 61 67 65 2e 69 6d 72 65 61 64 28 27 2e 2e 2f 64 61 74 61 2f 6f 63 | nI2.=.ndimage.imread('../data/oc |
a360 | 65 61 6e 5f 73 75 6e 73 65 74 2e 6a 70 67 27 29 2e 61 73 74 79 70 65 28 6e 70 2e 66 6c 6f 61 74 | ean_sunset.jpg').astype(np.float |
a380 | 36 34 29 20 2f 20 32 35 36 5c 6e 5c 6e 5c 6e 58 31 20 3d 20 69 6d 32 6d 61 74 28 49 31 29 5c 6e | 64)./.256\n\n\nX1.=.im2mat(I1)\n |
a3a0 | 58 32 20 3d 20 69 6d 32 6d 61 74 28 49 32 29 5c 6e 5c 6e 23 20 74 72 61 69 6e 69 6e 67 20 73 61 | X2.=.im2mat(I2)\n\n#.training.sa |
a3c0 | 6d 70 6c 65 73 5c 6e 6e 62 20 3d 20 31 30 30 30 5c 6e 69 64 78 31 20 3d 20 72 2e 72 61 6e 64 69 | mples\nnb.=.1000\nidx1.=.r.randi |
a3e0 | 6e 74 28 58 31 2e 73 68 61 70 65 5b 30 5d 2c 20 73 69 7a 65 3d 28 6e 62 2c 29 29 5c 6e 69 64 78 | nt(X1.shape[0],.size=(nb,))\nidx |
a400 | 32 20 3d 20 72 2e 72 61 6e 64 69 6e 74 28 58 32 2e 73 68 61 70 65 5b 30 5d 2c 20 73 69 7a 65 3d | 2.=.r.randint(X2.shape[0],.size= |
a420 | 28 6e 62 2c 29 29 5c 6e 5c 6e 58 73 20 3d 20 58 31 5b 69 64 78 31 2c 20 3a 5d 5c 6e 58 74 20 3d | (nb,))\n\nXs.=.X1[idx1,.:]\nXt.= |
a440 | 20 58 32 5b 69 64 78 32 2c 20 3a 5d 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f | .X2[idx2,.:]".......],........"o |
a460 | 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 | utputs":.[],........"metadata":. |
a480 | 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 | {........."collapsed":.false.... |
a4a0 | 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 | ...}.....},......{......."source |
a4c0 | 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 44 6f 6d 61 69 6e 20 61 64 61 70 74 61 74 69 6f 6e 20 | ":.[........."Domain.adaptation. |
a4e0 | 66 6f 72 20 70 69 78 65 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 74 72 61 6e 73 66 65 72 5c | for.pixel.distribution.transfer\ |
a500 | 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | n############################### |
a520 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
a540 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 | ##############\n\n".......],.... |
a560 | 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 | ...."cell_type":."markdown",.... |
a580 | 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b | ...."metadata":.{}.....},......{ |
a5a0 | 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 | ......."execution_count":.null,. |
a5c0 | 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 | ......."cell_type":."code",..... |
a5e0 | 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 20 45 4d 44 54 72 61 | ..."source":.[........."#.EMDTra |
a600 | 6e 73 70 6f 72 74 5c 6e 6f 74 5f 65 6d 64 20 3d 20 6f 74 2e 64 61 2e 45 4d 44 54 72 61 6e 73 70 | nsport\not_emd.=.ot.da.EMDTransp |
a620 | 6f 72 74 28 29 5c 6e 6f 74 5f 65 6d 64 2e 66 69 74 28 58 73 3d 58 73 2c 20 58 74 3d 58 74 29 5c | ort()\not_emd.fit(Xs=Xs,.Xt=Xt)\ |
a640 | 6e 74 72 61 6e 73 70 5f 58 73 5f 65 6d 64 20 3d 20 6f 74 5f 65 6d 64 2e 74 72 61 6e 73 66 6f 72 | ntransp_Xs_emd.=.ot_emd.transfor |
a660 | 6d 28 58 73 3d 58 31 29 5c 6e 49 6d 61 67 65 5f 65 6d 64 20 3d 20 6d 69 6e 6d 61 78 28 6d 61 74 | m(Xs=X1)\nImage_emd.=.minmax(mat |
a680 | 32 69 6d 28 74 72 61 6e 73 70 5f 58 73 5f 65 6d 64 2c 20 49 31 2e 73 68 61 70 65 29 29 5c 6e 5c | 2im(transp_Xs_emd,.I1.shape))\n\ |
a6a0 | 6e 23 20 53 69 6e 6b 68 6f 72 6e 54 72 61 6e 73 70 6f 72 74 5c 6e 6f 74 5f 73 69 6e 6b 68 6f 72 | n#.SinkhornTransport\not_sinkhor |
a6c0 | 6e 20 3d 20 6f 74 2e 64 61 2e 53 69 6e 6b 68 6f 72 6e 54 72 61 6e 73 70 6f 72 74 28 72 65 67 5f | n.=.ot.da.SinkhornTransport(reg_ |
a6e0 | 65 3d 31 65 2d 31 29 5c 6e 6f 74 5f 73 69 6e 6b 68 6f 72 6e 2e 66 69 74 28 58 73 3d 58 73 2c 20 | e=1e-1)\not_sinkhorn.fit(Xs=Xs,. |
a700 | 58 74 3d 58 74 29 5c 6e 74 72 61 6e 73 70 5f 58 73 5f 73 69 6e 6b 68 6f 72 6e 20 3d 20 6f 74 5f | Xt=Xt)\ntransp_Xs_sinkhorn.=.ot_ |
a720 | 65 6d 64 2e 74 72 61 6e 73 66 6f 72 6d 28 58 73 3d 58 31 29 5c 6e 49 6d 61 67 65 5f 73 69 6e 6b | emd.transform(Xs=X1)\nImage_sink |
a740 | 68 6f 72 6e 20 3d 20 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 74 72 61 6e 73 70 5f 58 73 5f 73 | horn.=.minmax(mat2im(transp_Xs_s |
a760 | 69 6e 6b 68 6f 72 6e 2c 20 49 31 2e 73 68 61 70 65 29 29 5c 6e 5c 6e 6f 74 5f 6d 61 70 70 69 6e | inkhorn,.I1.shape))\n\not_mappin |
a780 | 67 5f 6c 69 6e 65 61 72 20 3d 20 6f 74 2e 64 61 2e 4d 61 70 70 69 6e 67 54 72 61 6e 73 70 6f 72 | g_linear.=.ot.da.MappingTranspor |
a7a0 | 74 28 5c 6e 20 20 20 20 6d 75 3d 31 65 30 2c 20 65 74 61 3d 31 65 2d 38 2c 20 62 69 61 73 3d 54 | t(\n....mu=1e0,.eta=1e-8,.bias=T |
a7c0 | 72 75 65 2c 20 6d 61 78 5f 69 74 65 72 3d 32 30 2c 20 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c | rue,.max_iter=20,.verbose=True)\ |
a7e0 | 6e 6f 74 5f 6d 61 70 70 69 6e 67 5f 6c 69 6e 65 61 72 2e 66 69 74 28 58 73 3d 58 73 2c 20 58 74 | not_mapping_linear.fit(Xs=Xs,.Xt |
a800 | 3d 58 74 29 5c 6e 5c 6e 58 31 74 6c 20 3d 20 6f 74 5f 6d 61 70 70 69 6e 67 5f 6c 69 6e 65 61 72 | =Xt)\n\nX1tl.=.ot_mapping_linear |
a820 | 2e 74 72 61 6e 73 66 6f 72 6d 28 58 73 3d 58 31 29 5c 6e 49 6d 61 67 65 5f 6d 61 70 70 69 6e 67 | .transform(Xs=X1)\nImage_mapping |
a840 | 5f 6c 69 6e 65 61 72 20 3d 20 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 58 31 74 6c 2c 20 49 31 | _linear.=.minmax(mat2im(X1tl,.I1 |
a860 | 2e 73 68 61 70 65 29 29 5c 6e 5c 6e 6f 74 5f 6d 61 70 70 69 6e 67 5f 67 61 75 73 73 69 61 6e 20 | .shape))\n\not_mapping_gaussian. |
a880 | 3d 20 6f 74 2e 64 61 2e 4d 61 70 70 69 6e 67 54 72 61 6e 73 70 6f 72 74 28 5c 6e 20 20 20 20 6d | =.ot.da.MappingTransport(\n....m |
a8a0 | 75 3d 31 65 30 2c 20 65 74 61 3d 31 65 2d 32 2c 20 73 69 67 6d 61 3d 31 2c 20 62 69 61 73 3d 46 | u=1e0,.eta=1e-2,.sigma=1,.bias=F |
a8c0 | 61 6c 73 65 2c 20 6d 61 78 5f 69 74 65 72 3d 31 30 2c 20 76 65 72 62 6f 73 65 3d 54 72 75 65 29 | alse,.max_iter=10,.verbose=True) |
a8e0 | 5c 6e 6f 74 5f 6d 61 70 70 69 6e 67 5f 67 61 75 73 73 69 61 6e 2e 66 69 74 28 58 73 3d 58 73 2c | \not_mapping_gaussian.fit(Xs=Xs, |
a900 | 20 58 74 3d 58 74 29 5c 6e 5c 6e 58 31 74 6e 20 3d 20 6f 74 5f 6d 61 70 70 69 6e 67 5f 67 61 75 | .Xt=Xt)\n\nX1tn.=.ot_mapping_gau |
a920 | 73 73 69 61 6e 2e 74 72 61 6e 73 66 6f 72 6d 28 58 73 3d 58 31 29 20 20 23 20 75 73 65 20 74 68 | ssian.transform(Xs=X1)..#.use.th |
a940 | 65 20 65 73 74 69 6d 61 74 65 64 20 6d 61 70 70 69 6e 67 5c 6e 49 6d 61 67 65 5f 6d 61 70 70 69 | e.estimated.mapping\nImage_mappi |
a960 | 6e 67 5f 67 61 75 73 73 69 61 6e 20 3d 20 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 58 31 74 6e | ng_gaussian.=.minmax(mat2im(X1tn |
a980 | 2c 20 49 31 2e 73 68 61 70 65 29 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f | ,.I1.shape))".......],........"o |
a9a0 | 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 | utputs":.[],........"metadata":. |
a9c0 | 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 | {........."collapsed":.false.... |
a9e0 | 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 | ...}.....},......{......."source |
aa00 | 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 70 6c 6f 74 20 6f 72 69 67 69 6e 61 6c 20 69 6d 61 67 | ":.[........."plot.original.imag |
aa20 | 65 73 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | es\n############################ |
aa40 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
aa60 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 | #################\n\n".......],. |
aa80 | 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 | ......."cell_type":."markdown",. |
aaa0 | 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 | ......."metadata":.{}.....},.... |
aac0 | 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c | ..{......."execution_count":.nul |
aae0 | 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a | l,........"cell_type":."code",.. |
ab00 | 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 70 6c 2e 66 69 | ......"source":.[........."pl.fi |
ab20 | 67 75 72 65 28 31 2c 20 66 69 67 73 69 7a 65 3d 28 36 2e 34 2c 20 33 29 29 5c 6e 70 6c 2e 73 75 | gure(1,.figsize=(6.4,.3))\npl.su |
ab40 | 62 70 6c 6f 74 28 31 2c 20 32 2c 20 31 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 29 5c 6e 70 | bplot(1,.2,.1)\npl.imshow(I1)\np |
ab60 | 6c 2e 61 78 69 73 28 27 6f 66 66 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 31 | l.axis('off')\npl.title('Image.1 |
ab80 | 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 32 2c 20 32 29 5c 6e 70 6c 2e 69 6d | ')\n\npl.subplot(1,.2,.2)\npl.im |
aba0 | 73 68 6f 77 28 49 32 29 5c 6e 70 6c 2e 61 78 69 73 28 27 6f 66 66 27 29 5c 6e 70 6c 2e 74 69 74 | show(I2)\npl.axis('off')\npl.tit |
abc0 | 6c 65 28 27 49 6d 61 67 65 20 32 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 | le('Image.2')\npl.tight_layout() |
abe0 | 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c | ".......],........"outputs":.[], |
ac00 | 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 | ........"metadata":.{........."c |
ac20 | 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 | ollapsed":.false.......}.....},. |
ac40 | 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 | .....{......."source":.[........ |
ac60 | 20 22 70 6c 6f 74 20 70 69 78 65 6c 20 76 61 6c 75 65 73 20 64 69 73 74 72 69 62 75 74 69 6f 6e | ."plot.pixel.values.distribution |
ac80 | 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | \n############################## |
aca0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
acc0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 | ###############\n\n".......],... |
ace0 | 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 | ....."cell_type":."markdown",... |
ad00 | 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 | ....."metadata":.{}.....},...... |
ad20 | 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c | {......."execution_count":.null, |
ad40 | 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 | ........"cell_type":."code",.... |
ad60 | 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 70 6c 2e 66 69 67 75 | ...."source":.[........."pl.figu |
ad80 | 72 65 28 32 2c 20 66 69 67 73 69 7a 65 3d 28 36 2e 34 2c 20 35 29 29 5c 6e 5c 6e 70 6c 2e 73 75 | re(2,.figsize=(6.4,.5))\n\npl.su |
ada0 | 62 70 6c 6f 74 28 31 2c 20 32 2c 20 31 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 73 5b 3a 2c | bplot(1,.2,.1)\npl.scatter(Xs[:, |
adc0 | 20 30 5d 2c 20 58 73 5b 3a 2c 20 32 5d 2c 20 63 3d 58 73 29 5c 6e 70 6c 2e 61 78 69 73 28 5b 30 | .0],.Xs[:,.2],.c=Xs)\npl.axis([0 |
ade0 | 2c 20 31 2c 20 30 2c 20 31 5d 29 5c 6e 70 6c 2e 78 6c 61 62 65 6c 28 27 52 65 64 27 29 5c 6e 70 | ,.1,.0,.1])\npl.xlabel('Red')\np |
ae00 | 6c 2e 79 6c 61 62 65 6c 28 27 42 6c 75 65 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 | l.ylabel('Blue')\npl.title('Imag |
ae20 | 65 20 31 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 32 2c 20 32 29 5c 6e 70 6c | e.1')\n\npl.subplot(1,.2,.2)\npl |
ae40 | 2e 73 63 61 74 74 65 72 28 58 74 5b 3a 2c 20 30 5d 2c 20 58 74 5b 3a 2c 20 32 5d 2c 20 63 3d 58 | .scatter(Xt[:,.0],.Xt[:,.2],.c=X |
ae60 | 74 29 5c 6e 70 6c 2e 61 78 69 73 28 5b 30 2c 20 31 2c 20 30 2c 20 31 5d 29 5c 6e 70 6c 2e 78 6c | t)\npl.axis([0,.1,.0,.1])\npl.xl |
ae80 | 61 62 65 6c 28 27 52 65 64 27 29 5c 6e 70 6c 2e 79 6c 61 62 65 6c 28 27 42 6c 75 65 27 29 5c 6e | abel('Red')\npl.ylabel('Blue')\n |
aea0 | 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 32 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 | pl.title('Image.2')\npl.tight_la |
aec0 | 79 6f 75 74 28 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 | yout()".......],........"outputs |
aee0 | 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 | ":.[],........"metadata":.{..... |
af00 | 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 | ...."collapsed":.false.......}.. |
af20 | 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 | ...},......{......."source":.[.. |
af40 | 20 20 20 20 20 20 20 22 70 6c 6f 74 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 69 6d 61 67 65 73 5c | ......."plot.transformed.images\ |
af60 | 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | n############################### |
af80 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
afa0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 | ##############\n\n".......],.... |
afc0 | 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 | ...."cell_type":."markdown",.... |
afe0 | 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b | ...."metadata":.{}.....},......{ |
b000 | 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 | ......."execution_count":.null,. |
b020 | 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 | ......."cell_type":."code",..... |
b040 | 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 70 6c 2e 66 69 67 75 72 | ..."source":.[........."pl.figur |
b060 | 65 28 32 2c 20 66 69 67 73 69 7a 65 3d 28 31 30 2c 20 35 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 | e(2,.figsize=(10,.5))\n\npl.subp |
b080 | 6c 6f 74 28 32 2c 20 33 2c 20 31 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 29 5c 6e 70 6c 2e | lot(2,.3,.1)\npl.imshow(I1)\npl. |
b0a0 | 61 78 69 73 28 27 6f 66 66 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 2e 20 31 27 29 5c 6e | axis('off')\npl.title('Im..1')\n |
b0c0 | 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 33 2c 20 34 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 | \npl.subplot(2,.3,.4)\npl.imshow |
b0e0 | 28 49 32 29 5c 6e 70 6c 2e 61 78 69 73 28 27 6f 66 66 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 | (I2)\npl.axis('off')\npl.title(' |
b100 | 49 6d 2e 20 32 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 33 2c 20 32 29 5c 6e | Im..2')\n\npl.subplot(2,.3,.2)\n |
b120 | 70 6c 2e 69 6d 73 68 6f 77 28 49 6d 61 67 65 5f 65 6d 64 29 5c 6e 70 6c 2e 61 78 69 73 28 27 6f | pl.imshow(Image_emd)\npl.axis('o |
b140 | 66 66 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 45 6d 64 54 72 61 6e 73 70 6f 72 74 27 29 5c 6e | ff')\npl.title('EmdTransport')\n |
b160 | 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 33 2c 20 35 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 | \npl.subplot(2,.3,.5)\npl.imshow |
b180 | 28 49 6d 61 67 65 5f 73 69 6e 6b 68 6f 72 6e 29 5c 6e 70 6c 2e 61 78 69 73 28 27 6f 66 66 27 29 | (Image_sinkhorn)\npl.axis('off') |
b1a0 | 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 53 69 6e 6b 68 6f 72 6e 54 72 61 6e 73 70 6f 72 74 27 29 5c | \npl.title('SinkhornTransport')\ |
b1c0 | 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 33 2c 20 33 29 5c 6e 70 6c 2e 69 6d 73 68 6f | n\npl.subplot(2,.3,.3)\npl.imsho |
b1e0 | 77 28 49 6d 61 67 65 5f 6d 61 70 70 69 6e 67 5f 6c 69 6e 65 61 72 29 5c 6e 70 6c 2e 61 78 69 73 | w(Image_mapping_linear)\npl.axis |
b200 | 28 27 6f 66 66 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4d 61 70 70 69 6e 67 54 72 61 6e 73 70 | ('off')\npl.title('MappingTransp |
b220 | 6f 72 74 20 28 6c 69 6e 65 61 72 29 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 | ort.(linear)')\n\npl.subplot(2,. |
b240 | 33 2c 20 36 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 6d 61 67 65 5f 6d 61 70 70 69 6e 67 5f 67 | 3,.6)\npl.imshow(Image_mapping_g |
b260 | 61 75 73 73 69 61 6e 29 5c 6e 70 6c 2e 61 78 69 73 28 27 6f 66 66 27 29 5c 6e 70 6c 2e 74 69 74 | aussian)\npl.axis('off')\npl.tit |
b280 | 6c 65 28 27 4d 61 70 70 69 6e 67 54 72 61 6e 73 70 6f 72 74 20 28 67 61 75 73 73 69 61 6e 29 27 | le('MappingTransport.(gaussian)' |
b2a0 | 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 | )\npl.tight_layout()\n\npl.show( |
b2c0 | 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d | )".......],........"outputs":.[] |
b2e0 | 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 | ,........"metadata":.{........." |
b300 | 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a | collapsed":.false.......}.....}. |
b320 | 20 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 | ..],...."metadata":.{....."kerne |
b340 | 6c 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 | lspec":.{......."display_name":. |
b360 | 22 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 | "Python.2",........"name":."pyth |
b380 | 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e | on2",........"language":."python |
b3a0 | 22 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b | ".....},......"language_info":.{ |
b3c0 | 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f | ......."mimetype":."text/x-pytho |
b3e0 | 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a | n",........"nbconvert_exporter": |
b400 | 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f | ."python",........"name":."pytho |
b420 | 6e 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 | n",........"file_extension":.".p |
b440 | 79 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 | y",........"version":."2.7.12",. |
b460 | 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f | ......."pygments_lexer":."ipytho |
b480 | 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b | n2",........"codemirror_mode":.{ |
b4a0 | 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 | ........."version":.2,.......... |
b4c0 | 22 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a | "name":."ipython".......}.....}. |
b4e0 | 20 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 6a 7b 82 49 bb fd 13 71 39 0a 00 00 39 0a 00 00 2b | ..}.}PK........j{.I...q9...9...+ |
b500 | 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 64 65 6d 6f 5f 4f 54 5f 32 44 5f 73 61 6d 70 | ...auto_examples/demo_OT_2D_samp |
b520 | 6c 65 73 6c 61 72 67 65 2e 69 70 79 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f | leslarge.ipynb{..."nbformat_mino |
b540 | 72 22 3a 20 30 2c 20 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c | r":.0,...."nbformat":.4,...."cel |
b560 | 6c 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f | ls":.[.....{......."execution_co |
b580 | 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 | unt":.null,........"cell_type":. |
b5a0 | 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 | "code",........"source":.[...... |
b5c0 | 20 20 20 22 25 6d 61 74 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c | ..."%matplotlib.inline".......], |
b5e0 | 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d | ........"outputs":.[],........"m |
b600 | 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a | etadata":.{........."collapsed": |
b620 | 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 | .false.......}.....},......{.... |
b640 | 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 44 65 6d 6f 20 66 | ..."source":.[........."\nDemo.f |
b660 | 6f 72 20 32 44 20 4f 70 74 69 6d 61 6c 20 74 72 61 6e 73 70 6f 72 74 20 62 65 74 77 65 65 6e 20 | or.2D.Optimal.transport.between. |
b680 | 65 6d 70 69 72 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e 40 61 75 74 68 | empirical.distributions\n\n@auth |
b6a0 | 6f 72 3a 20 72 66 6c 61 6d 61 72 79 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 | or:.rflamary\n\n".......],...... |
b6c0 | 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 | .."cell_type":."markdown",...... |
b6e0 | 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 | .."metadata":.{}.....},......{.. |
b700 | 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 | ....."execution_count":.null,... |
b720 | 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 | ....."cell_type":."code",....... |
b740 | 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 6d 70 6f 72 74 20 6e 75 6d | ."source":.[........."import.num |
b760 | 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 70 79 6c 61 | py.as.np\nimport.matplotlib.pyla |
b780 | 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 5c 6e 23 25 25 20 70 61 72 61 6d 65 | b.as.pl\nimport.ot\n\n#%%.parame |
b7a0 | 74 65 72 73 20 61 6e 64 20 64 61 74 61 20 67 65 6e 65 72 61 74 69 6f 6e 5c 6e 5c 6e 6e 3d 35 30 | ters.and.data.generation\n\nn=50 |
b7c0 | 30 30 20 23 20 6e 62 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 6d 75 5f 73 3d 6e 70 2e 61 72 72 61 79 | 00.#.nb.samples\n\nmu_s=np.array |
b7e0 | 28 5b 30 2c 30 5d 29 5c 6e 63 6f 76 5f 73 3d 6e 70 2e 61 72 72 61 79 28 5b 5b 31 2c 30 5d 2c 5b | ([0,0])\ncov_s=np.array([[1,0],[ |
b800 | 30 2c 31 5d 5d 29 5c 6e 5c 6e 6d 75 5f 74 3d 6e 70 2e 61 72 72 61 79 28 5b 34 2c 34 5d 29 5c 6e | 0,1]])\n\nmu_t=np.array([4,4])\n |
b820 | 63 6f 76 5f 74 3d 6e 70 2e 61 72 72 61 79 28 5b 5b 31 2c 2d 2e 38 5d 2c 5b 2d 2e 38 2c 31 5d 5d | cov_t=np.array([[1,-.8],[-.8,1]] |
b840 | 29 5c 6e 5c 6e 78 73 3d 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 32 44 5f 73 61 6d 70 6c | )\n\nxs=ot.datasets.get_2D_sampl |
b860 | 65 73 5f 67 61 75 73 73 28 6e 2c 6d 75 5f 73 2c 63 6f 76 5f 73 29 5c 6e 78 74 3d 6f 74 2e 64 61 | es_gauss(n,mu_s,cov_s)\nxt=ot.da |
b880 | 74 61 73 65 74 73 2e 67 65 74 5f 32 44 5f 73 61 6d 70 6c 65 73 5f 67 61 75 73 73 28 6e 2c 6d 75 | tasets.get_2D_samples_gauss(n,mu |
b8a0 | 5f 74 2c 63 6f 76 5f 74 29 5c 6e 5c 6e 61 2c 62 20 3d 20 6f 74 2e 75 6e 69 66 28 6e 29 2c 6f 74 | _t,cov_t)\n\na,b.=.ot.unif(n),ot |
b8c0 | 2e 75 6e 69 66 28 6e 29 20 23 20 75 6e 69 66 6f 72 6d 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 | .unif(n).#.uniform.distribution. |
b8e0 | 6f 6e 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 4d 3d 6f | on.samples\n\n#.loss.matrix\nM=o |
b900 | 74 2e 64 69 73 74 28 78 73 2c 78 74 29 5c 6e 4d 2f 3d 4d 2e 6d 61 78 28 29 5c 6e 5c 6e 23 25 25 | t.dist(xs,xt)\nM/=M.max()\n\n#%% |
b920 | 20 70 6c 6f 74 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 23 70 6c 2e 66 69 67 75 72 65 28 31 29 5c 6e | .plot.samples\n\n#pl.figure(1)\n |
b940 | 23 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 27 2b 62 27 2c 6c 61 | #pl.plot(xs[:,0],xs[:,1],'+b',la |
b960 | 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 23 70 6c 2e 70 6c 6f 74 28 | bel='Source.samples')\n#pl.plot( |
b980 | 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 27 78 72 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 | xt[:,0],xt[:,1],'xr',label='Targ |
b9a0 | 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 23 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c | et.samples')\n#pl.legend(loc=0)\ |
b9c0 | 6e 23 70 6c 2e 74 69 74 6c 65 28 27 53 6f 75 72 63 65 20 61 6e 64 20 74 72 61 67 65 74 20 64 69 | n#pl.title('Source.and.traget.di |
b9e0 | 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 23 5c 6e 23 70 6c 2e 66 69 67 75 72 65 28 32 29 5c | stributions')\n#\n#pl.figure(2)\ |
ba00 | 6e 23 70 6c 2e 69 6d 73 68 6f 77 28 4d 2c 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 | n#pl.imshow(M,interpolation='nea |
ba20 | 72 65 73 74 27 29 5c 6e 23 70 6c 2e 74 69 74 6c 65 28 27 43 6f 73 74 20 6d 61 74 72 69 78 20 4d | rest')\n#pl.title('Cost.matrix.M |
ba40 | 27 29 5c 6e 23 5c 6e 5c 6e 23 25 25 20 45 4d 44 5c 6e 5c 6e 47 30 3d 6f 74 2e 65 6d 64 28 61 2c | ')\n#\n\n#%%.EMD\n\nG0=ot.emd(a, |
ba60 | 62 2c 4d 29 5c 6e 5c 6e 23 70 6c 2e 66 69 67 75 72 65 28 33 29 5c 6e 23 70 6c 2e 69 6d 73 68 6f | b,M)\n\n#pl.figure(3)\n#pl.imsho |
ba80 | 77 28 47 30 2c 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 23 | w(G0,interpolation='nearest')\n# |
baa0 | 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 20 47 30 27 29 5c 6e 23 5c 6e 23 70 6c | pl.title('OT.matrix.G0')\n#\n#pl |
bac0 | 2e 66 69 67 75 72 65 28 34 29 5c 6e 23 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 | .figure(4)\n#ot.plot.plot2D_samp |
bae0 | 6c 65 73 5f 6d 61 74 28 78 73 2c 78 74 2c 47 30 2c 63 3d 5b 2e 35 2c 2e 35 2c 31 5d 29 5c 6e 23 | les_mat(xs,xt,G0,c=[.5,.5,1])\n# |
bb00 | 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 27 2b 62 27 2c 6c 61 62 | pl.plot(xs[:,0],xs[:,1],'+b',lab |
bb20 | 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 23 70 6c 2e 70 6c 6f 74 28 78 | el='Source.samples')\n#pl.plot(x |
bb40 | 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 27 78 72 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 | t[:,0],xt[:,1],'xr',label='Targe |
bb60 | 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 23 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e | t.samples')\n#pl.legend(loc=0)\n |
bb80 | 23 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 20 77 69 74 68 20 73 61 6d 70 6c 65 | #pl.title('OT.matrix.with.sample |
bba0 | 73 27 29 5c 6e 5c 6e 5c 6e 23 25 25 20 73 69 6e 6b 68 6f 72 6e 5c 6e 5c 6e 23 20 72 65 67 20 74 | s')\n\n\n#%%.sinkhorn\n\n#.reg.t |
bbc0 | 65 72 6d 5c 6e 6c 61 6d 62 64 3d 35 65 2d 33 5c 6e 5c 6e 47 73 3d 6f 74 2e 73 69 6e 6b 68 6f 72 | erm\nlambd=5e-3\n\nGs=ot.sinkhor |
bbe0 | 6e 28 61 2c 62 2c 4d 2c 6c 61 6d 62 64 29 5c 6e 5c 6e 23 70 6c 2e 66 69 67 75 72 65 28 35 29 5c | n(a,b,M,lambd)\n\n#pl.figure(5)\ |
bc00 | 6e 23 70 6c 2e 69 6d 73 68 6f 77 28 47 73 2c 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 | n#pl.imshow(Gs,interpolation='ne |
bc20 | 61 72 65 73 74 27 29 5c 6e 23 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 20 73 69 | arest')\n#pl.title('OT.matrix.si |
bc40 | 6e 6b 68 6f 72 6e 27 29 5c 6e 23 5c 6e 23 70 6c 2e 66 69 67 75 72 65 28 36 29 5c 6e 23 6f 74 2e | nkhorn')\n#\n#pl.figure(6)\n#ot. |
bc60 | 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 6c 65 73 5f 6d 61 74 28 78 73 2c 78 74 2c 47 73 | plot.plot2D_samples_mat(xs,xt,Gs |
bc80 | 2c 63 6f 6c 6f 72 3d 5b 2e 35 2c 2e 35 2c 31 5d 29 5c 6e 23 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a | ,color=[.5,.5,1])\n#pl.plot(xs[: |
bca0 | 2c 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 27 2b 62 27 2c 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 | ,0],xs[:,1],'+b',label='Source.s |
bcc0 | 61 6d 70 6c 65 73 27 29 5c 6e 23 70 6c 2e 70 6c 6f 74 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c | amples')\n#pl.plot(xt[:,0],xt[:, |
bce0 | 31 5d 2c 27 78 72 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c | 1],'xr',label='Target.samples')\ |
bd00 | 6e 23 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 23 70 6c 2e 74 69 74 6c 65 28 27 4f | n#pl.legend(loc=0)\n#pl.title('O |
bd20 | 54 20 6d 61 74 72 69 78 20 53 69 6e 6b 68 6f 72 6e 20 77 69 74 68 20 73 61 6d 70 6c 65 73 27 29 | T.matrix.Sinkhorn.with.samples') |
bd40 | 5c 6e 23 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 | \n#".......],........"outputs":. |
bd60 | 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 | [],........"metadata":.{........ |
bd80 | 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 | ."collapsed":.false.......}..... |
bda0 | 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 | }...],...."metadata":.{....."ker |
bdc0 | 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 | nelspec":.{......."display_name" |
bde0 | 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 | :."Python.2",........"name":."py |
be00 | 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 | thon2",........"language":."pyth |
be20 | 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a | on".....},......"language_info": |
be40 | 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 | .{......."mimetype":."text/x-pyt |
be60 | 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 | hon",........"nbconvert_exporter |
be80 | 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 | ":."python",........"name":."pyt |
bea0 | 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 | hon",........"file_extension":." |
bec0 | 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 | .py",........"version":."2.7.12" |
bee0 | 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 | ,........"pygments_lexer":."ipyt |
bf00 | 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a | hon2",........"codemirror_mode": |
bf20 | 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 | .{........."version":.2,........ |
bf40 | 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 | .."name":."ipython".......}..... |
bf60 | 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 f6 83 1e 4b 31 52 a0 2f b3 0f 00 00 b3 0f 00 | }...}.}PK...........K1R./....... |
bf80 | 00 24 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 5f 4c 31 5f 76 73 | .$...auto_examples/plot_OT_L1_vs |
bfa0 | 5f 4c 32 2e 69 70 79 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 | _L2.ipynb{..."nbformat_minor":.0 |
bfc0 | 2c 20 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 | ,...."nbformat":.4,...."cells":. |
bfe0 | 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a | [.....{......."execution_count": |
c000 | 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 | .null,........"cell_type":."code |
c020 | 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 | ",........"source":.[........."% |
c040 | 6d 61 74 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 | matplotlib.inline".......],..... |
c060 | 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 | ..."outputs":.[],........"metada |
c080 | 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 | ta":.{........."collapsed":.fals |
c0a0 | 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 | e.......}.....},......{......."s |
c0c0 | 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 23 20 32 44 20 4f 70 74 69 6d 61 | ource":.[........."\n#.2D.Optima |
c0e0 | 6c 20 74 72 61 6e 73 70 6f 72 74 20 66 6f 72 20 64 69 66 66 65 72 65 6e 74 20 6d 65 74 72 69 63 | l.transport.for.different.metric |
c100 | 73 5c 6e 5c 6e 5c 6e 53 74 6f 6c 65 20 74 68 65 20 66 69 67 75 72 65 20 69 64 65 61 20 66 72 6f | s\n\n\nStole.the.figure.idea.fro |
c120 | 6d 20 46 69 67 2e 20 31 20 61 6e 64 20 32 20 69 6e 5c 6e 68 74 74 70 73 3a 2f 2f 61 72 78 69 76 | m.Fig..1.and.2.in\nhttps://arxiv |
c140 | 2e 6f 72 67 2f 70 64 66 2f 31 37 30 36 2e 30 37 36 35 30 2e 70 64 66 5c 6e 5c 6e 5c 6e 5c 6e 22 | .org/pdf/1706.07650.pdf\n\n\n\n" |
c160 | 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d | .......],........"cell_type":."m |
c180 | 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a | arkdown",........"metadata":.{}. |
c1a0 | 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 | ....},......{......."execution_c |
c1c0 | 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a | ount":.null,........"cell_type": |
c1e0 | 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 | ."code",........"source":.[..... |
c200 | 20 20 20 20 22 23 20 41 75 74 68 6f 72 3a 20 52 65 6d 69 20 46 6c 61 6d 61 72 79 20 3c 72 65 6d | ...."#.Author:.Remi.Flamary.<rem |
c220 | 69 2e 66 6c 61 6d 61 72 79 40 75 6e 69 63 65 2e 66 72 3e 5c 6e 23 5c 6e 23 20 4c 69 63 65 6e 73 | i.flamary@unice.fr>\n#\n#.Licens |
c240 | 65 3a 20 4d 49 54 20 4c 69 63 65 6e 73 65 5c 6e 5c 6e 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 | e:.MIT.License\n\nimport.numpy.a |
c260 | 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 70 79 6c 61 62 20 61 73 | s.np\nimport.matplotlib.pylab.as |
c280 | 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 5c 6e 23 25 25 20 70 61 72 61 6d 65 74 65 72 73 | .pl\nimport.ot\n\n#%%.parameters |
c2a0 | 20 61 6e 64 20 64 61 74 61 20 67 65 6e 65 72 61 74 69 6f 6e 5c 6e 5c 6e 66 6f 72 20 64 61 74 61 | .and.data.generation\n\nfor.data |
c2c0 | 20 69 6e 20 72 61 6e 67 65 28 32 29 3a 5c 6e 5c 6e 20 20 20 20 69 66 20 64 61 74 61 3a 5c 6e 20 | .in.range(2):\n\n....if.data:\n. |
c2e0 | 20 20 20 20 20 20 20 6e 20 3d 20 32 30 20 20 23 20 6e 62 20 73 61 6d 70 6c 65 73 5c 6e 20 20 20 | .......n.=.20..#.nb.samples\n... |
c300 | 20 20 20 20 20 78 73 20 3d 20 6e 70 2e 7a 65 72 6f 73 28 28 6e 2c 20 32 29 29 5c 6e 20 20 20 20 | .....xs.=.np.zeros((n,.2))\n.... |
c320 | 20 20 20 20 78 73 5b 3a 2c 20 30 5d 20 3d 20 6e 70 2e 61 72 61 6e 67 65 28 6e 29 20 2b 20 31 5c | ....xs[:,.0].=.np.arange(n).+.1\ |
c340 | 6e 20 20 20 20 20 20 20 20 78 73 5b 3a 2c 20 31 5d 20 3d 20 28 6e 70 2e 61 72 61 6e 67 65 28 6e | n........xs[:,.1].=.(np.arange(n |
c360 | 29 20 2b 20 31 29 20 2a 20 2d 30 2e 30 30 31 20 20 23 20 74 6f 20 6d 61 6b 65 20 69 74 20 73 74 | ).+.1).*.-0.001..#.to.make.it.st |
c380 | 72 69 63 74 6c 79 20 63 6f 6e 76 65 78 2e 2e 2e 5c 6e 5c 6e 20 20 20 20 20 20 20 20 78 74 20 3d | rictly.convex...\n\n........xt.= |
c3a0 | 20 6e 70 2e 7a 65 72 6f 73 28 28 6e 2c 20 32 29 29 5c 6e 20 20 20 20 20 20 20 20 78 74 5b 3a 2c | .np.zeros((n,.2))\n........xt[:, |
c3c0 | 20 31 5d 20 3d 20 6e 70 2e 61 72 61 6e 67 65 28 6e 29 20 2b 20 31 5c 6e 20 20 20 20 65 6c 73 65 | .1].=.np.arange(n).+.1\n....else |
c3e0 | 3a 5c 6e 5c 6e 20 20 20 20 20 20 20 20 6e 20 3d 20 35 30 20 20 23 20 6e 62 20 73 61 6d 70 6c 65 | :\n\n........n.=.50..#.nb.sample |
c400 | 73 5c 6e 20 20 20 20 20 20 20 20 78 74 6f 74 20 3d 20 6e 70 2e 7a 65 72 6f 73 28 28 6e 20 2b 20 | s\n........xtot.=.np.zeros((n.+. |
c420 | 31 2c 20 32 29 29 5c 6e 20 20 20 20 20 20 20 20 78 74 6f 74 5b 3a 2c 20 30 5d 20 3d 20 6e 70 2e | 1,.2))\n........xtot[:,.0].=.np. |
c440 | 63 6f 73 28 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 70 2e 61 72 61 6e 67 65 28 6e 20 2b | cos(\n............(np.arange(n.+ |
c460 | 20 31 29 20 2b 20 31 2e 30 29 20 2a 20 30 2e 39 20 2f 20 28 6e 20 2b 20 32 29 20 2a 20 32 20 2a | .1).+.1.0).*.0.9./.(n.+.2).*.2.* |
c480 | 20 6e 70 2e 70 69 29 5c 6e 20 20 20 20 20 20 20 20 78 74 6f 74 5b 3a 2c 20 31 5d 20 3d 20 6e 70 | .np.pi)\n........xtot[:,.1].=.np |
c4a0 | 2e 73 69 6e 28 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 70 2e 61 72 61 6e 67 65 28 6e 20 | .sin(\n............(np.arange(n. |
c4c0 | 2b 20 31 29 20 2b 20 31 2e 30 29 20 2a 20 30 2e 39 20 2f 20 28 6e 20 2b 20 32 29 20 2a 20 32 20 | +.1).+.1.0).*.0.9./.(n.+.2).*.2. |
c4e0 | 2a 20 6e 70 2e 70 69 29 5c 6e 5c 6e 20 20 20 20 20 20 20 20 78 73 20 3d 20 78 74 6f 74 5b 3a 6e | *.np.pi)\n\n........xs.=.xtot[:n |
c500 | 2c 20 3a 5d 5c 6e 20 20 20 20 20 20 20 20 78 74 20 3d 20 78 74 6f 74 5b 31 3a 2c 20 3a 5d 5c 6e | ,.:]\n........xt.=.xtot[1:,.:]\n |
c520 | 5c 6e 20 20 20 20 61 2c 20 62 20 3d 20 6f 74 2e 75 6e 69 66 28 6e 29 2c 20 6f 74 2e 75 6e 69 66 | \n....a,.b.=.ot.unif(n),.ot.unif |
c540 | 28 6e 29 20 20 23 20 75 6e 69 66 6f 72 6d 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 6e 20 73 | (n)..#.uniform.distribution.on.s |
c560 | 61 6d 70 6c 65 73 5c 6e 5c 6e 20 20 20 20 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 20 20 20 | amples\n\n....#.loss.matrix\n... |
c580 | 20 4d 31 20 3d 20 6f 74 2e 64 69 73 74 28 78 73 2c 20 78 74 2c 20 6d 65 74 72 69 63 3d 27 65 75 | .M1.=.ot.dist(xs,.xt,.metric='eu |
c5a0 | 63 6c 69 64 65 61 6e 27 29 5c 6e 20 20 20 20 4d 31 20 2f 3d 20 4d 31 2e 6d 61 78 28 29 5c 6e 5c | clidean')\n....M1./=.M1.max()\n\ |
c5c0 | 6e 20 20 20 20 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 20 20 20 20 4d 32 20 3d 20 6f 74 2e | n....#.loss.matrix\n....M2.=.ot. |
c5e0 | 64 69 73 74 28 78 73 2c 20 78 74 2c 20 6d 65 74 72 69 63 3d 27 73 71 65 75 63 6c 69 64 65 61 6e | dist(xs,.xt,.metric='sqeuclidean |
c600 | 27 29 5c 6e 20 20 20 20 4d 32 20 2f 3d 20 4d 32 2e 6d 61 78 28 29 5c 6e 5c 6e 20 20 20 20 23 20 | ')\n....M2./=.M2.max()\n\n....#. |
c620 | 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 20 20 20 20 4d 70 20 3d 20 6e 70 2e 73 71 72 74 28 6f 74 | loss.matrix\n....Mp.=.np.sqrt(ot |
c640 | 2e 64 69 73 74 28 78 73 2c 20 78 74 2c 20 6d 65 74 72 69 63 3d 27 65 75 63 6c 69 64 65 61 6e 27 | .dist(xs,.xt,.metric='euclidean' |
c660 | 29 29 5c 6e 20 20 20 20 4d 70 20 2f 3d 20 4d 70 2e 6d 61 78 28 29 5c 6e 5c 6e 20 20 20 20 23 25 | ))\n....Mp./=.Mp.max()\n\n....#% |
c680 | 25 20 70 6c 6f 74 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 20 20 20 20 70 6c 2e 66 69 67 75 72 65 28 | %.plot.samples\n\n....pl.figure( |
c6a0 | 31 20 2b 20 33 20 2a 20 64 61 74 61 2c 20 66 69 67 73 69 7a 65 3d 28 37 2c 20 33 29 29 5c 6e 20 | 1.+.3.*.data,.figsize=(7,.3))\n. |
c6c0 | 20 20 20 70 6c 2e 63 6c 66 28 29 5c 6e 20 20 20 20 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a 2c 20 30 | ...pl.clf()\n....pl.plot(xs[:,.0 |
c6e0 | 5d 2c 20 78 73 5b 3a 2c 20 31 5d 2c 20 27 2b 62 27 2c 20 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 | ],.xs[:,.1],.'+b',.label='Source |
c700 | 20 73 61 6d 70 6c 65 73 27 29 5c 6e 20 20 20 20 70 6c 2e 70 6c 6f 74 28 78 74 5b 3a 2c 20 30 5d | .samples')\n....pl.plot(xt[:,.0] |
c720 | 2c 20 78 74 5b 3a 2c 20 31 5d 2c 20 27 78 72 27 2c 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 | ,.xt[:,.1],.'xr',.label='Target. |
c740 | 73 61 6d 70 6c 65 73 27 29 5c 6e 20 20 20 20 70 6c 2e 61 78 69 73 28 27 65 71 75 61 6c 27 29 5c | samples')\n....pl.axis('equal')\ |
c760 | 6e 20 20 20 20 70 6c 2e 74 69 74 6c 65 28 27 53 6f 75 72 63 65 20 61 6e 64 20 74 72 61 67 65 74 | n....pl.title('Source.and.traget |
c780 | 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 5c 6e 20 20 20 20 70 6c 2e 66 69 67 75 72 | .distributions')\n\n....pl.figur |
c7a0 | 65 28 32 20 2b 20 33 20 2a 20 64 61 74 61 2c 20 66 69 67 73 69 7a 65 3d 28 37 2c 20 33 29 29 5c | e(2.+.3.*.data,.figsize=(7,.3))\ |
c7c0 | 6e 5c 6e 20 20 20 20 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 33 2c 20 31 29 5c 6e 20 20 20 20 | n\n....pl.subplot(1,.3,.1)\n.... |
c7e0 | 70 6c 2e 69 6d 73 68 6f 77 28 4d 31 2c 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 | pl.imshow(M1,.interpolation='nea |
c800 | 72 65 73 74 27 29 5c 6e 20 20 20 20 70 6c 2e 74 69 74 6c 65 28 27 45 75 63 6c 69 64 65 61 6e 20 | rest')\n....pl.title('Euclidean. |
c820 | 63 6f 73 74 27 29 5c 6e 5c 6e 20 20 20 20 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 33 2c 20 32 | cost')\n\n....pl.subplot(1,.3,.2 |
c840 | 29 5c 6e 20 20 20 20 70 6c 2e 69 6d 73 68 6f 77 28 4d 32 2c 20 69 6e 74 65 72 70 6f 6c 61 74 69 | )\n....pl.imshow(M2,.interpolati |
c860 | 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 20 20 20 20 70 6c 2e 74 69 74 6c 65 28 27 53 71 75 | on='nearest')\n....pl.title('Squ |
c880 | 61 72 65 64 20 45 75 63 6c 69 64 65 61 6e 20 63 6f 73 74 27 29 5c 6e 5c 6e 20 20 20 20 70 6c 2e | ared.Euclidean.cost')\n\n....pl. |
c8a0 | 73 75 62 70 6c 6f 74 28 31 2c 20 33 2c 20 33 29 5c 6e 20 20 20 20 70 6c 2e 69 6d 73 68 6f 77 28 | subplot(1,.3,.3)\n....pl.imshow( |
c8c0 | 4d 70 2c 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 20 20 | Mp,.interpolation='nearest')\n.. |
c8e0 | 20 20 70 6c 2e 74 69 74 6c 65 28 27 53 71 72 74 20 45 75 63 6c 69 64 65 61 6e 20 63 6f 73 74 27 | ..pl.title('Sqrt.Euclidean.cost' |
c900 | 29 5c 6e 20 20 20 20 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 5c 6e 5c 6e 20 20 20 20 | )\n....pl.tight_layout()\n\n.... |
c920 | 23 25 25 20 45 4d 44 5c 6e 20 20 20 20 47 31 20 3d 20 6f 74 2e 65 6d 64 28 61 2c 20 62 2c 20 4d | #%%.EMD\n....G1.=.ot.emd(a,.b,.M |
c940 | 31 29 5c 6e 20 20 20 20 47 32 20 3d 20 6f 74 2e 65 6d 64 28 61 2c 20 62 2c 20 4d 32 29 5c 6e 20 | 1)\n....G2.=.ot.emd(a,.b,.M2)\n. |
c960 | 20 20 20 47 70 20 3d 20 6f 74 2e 65 6d 64 28 61 2c 20 62 2c 20 4d 70 29 5c 6e 5c 6e 20 20 20 20 | ...Gp.=.ot.emd(a,.b,.Mp)\n\n.... |
c980 | 70 6c 2e 66 69 67 75 72 65 28 33 20 2b 20 33 20 2a 20 64 61 74 61 2c 20 66 69 67 73 69 7a 65 3d | pl.figure(3.+.3.*.data,.figsize= |
c9a0 | 28 37 2c 20 33 29 29 5c 6e 5c 6e 20 20 20 20 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 33 2c 20 | (7,.3))\n\n....pl.subplot(1,.3,. |
c9c0 | 31 29 5c 6e 20 20 20 20 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 6c 65 73 5f 6d | 1)\n....ot.plot.plot2D_samples_m |
c9e0 | 61 74 28 78 73 2c 20 78 74 2c 20 47 31 2c 20 63 3d 5b 2e 35 2c 20 2e 35 2c 20 31 5d 29 5c 6e 20 | at(xs,.xt,.G1,.c=[.5,..5,.1])\n. |
ca00 | 20 20 20 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a 2c 20 30 5d 2c 20 78 73 5b 3a 2c 20 31 5d 2c 20 27 | ...pl.plot(xs[:,.0],.xs[:,.1],.' |
ca20 | 2b 62 27 2c 20 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 20 20 | +b',.label='Source.samples')\n.. |
ca40 | 20 20 70 6c 2e 70 6c 6f 74 28 78 74 5b 3a 2c 20 30 5d 2c 20 78 74 5b 3a 2c 20 31 5d 2c 20 27 78 | ..pl.plot(xt[:,.0],.xt[:,.1],.'x |
ca60 | 72 27 2c 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 20 20 20 | r',.label='Target.samples')\n... |
ca80 | 20 70 6c 2e 61 78 69 73 28 27 65 71 75 61 6c 27 29 5c 6e 20 20 20 20 23 20 70 6c 2e 6c 65 67 65 | .pl.axis('equal')\n....#.pl.lege |
caa0 | 6e 64 28 6c 6f 63 3d 30 29 5c 6e 20 20 20 20 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 45 75 63 6c | nd(loc=0)\n....pl.title('OT.Eucl |
cac0 | 69 64 65 61 6e 27 29 5c 6e 5c 6e 20 20 20 20 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 33 2c 20 | idean')\n\n....pl.subplot(1,.3,. |
cae0 | 32 29 5c 6e 20 20 20 20 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 6c 65 73 5f 6d | 2)\n....ot.plot.plot2D_samples_m |
cb00 | 61 74 28 78 73 2c 20 78 74 2c 20 47 32 2c 20 63 3d 5b 2e 35 2c 20 2e 35 2c 20 31 5d 29 5c 6e 20 | at(xs,.xt,.G2,.c=[.5,..5,.1])\n. |
cb20 | 20 20 20 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a 2c 20 30 5d 2c 20 78 73 5b 3a 2c 20 31 5d 2c 20 27 | ...pl.plot(xs[:,.0],.xs[:,.1],.' |
cb40 | 2b 62 27 2c 20 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 20 20 | +b',.label='Source.samples')\n.. |
cb60 | 20 20 70 6c 2e 70 6c 6f 74 28 78 74 5b 3a 2c 20 30 5d 2c 20 78 74 5b 3a 2c 20 31 5d 2c 20 27 78 | ..pl.plot(xt[:,.0],.xt[:,.1],.'x |
cb80 | 72 27 2c 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 20 20 20 | r',.label='Target.samples')\n... |
cba0 | 20 70 6c 2e 61 78 69 73 28 27 65 71 75 61 6c 27 29 5c 6e 20 20 20 20 23 20 70 6c 2e 6c 65 67 65 | .pl.axis('equal')\n....#.pl.lege |
cbc0 | 6e 64 28 6c 6f 63 3d 30 29 5c 6e 20 20 20 20 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 73 71 75 61 | nd(loc=0)\n....pl.title('OT.squa |
cbe0 | 72 65 64 20 45 75 63 6c 69 64 65 61 6e 27 29 5c 6e 5c 6e 20 20 20 20 70 6c 2e 73 75 62 70 6c 6f | red.Euclidean')\n\n....pl.subplo |
cc00 | 74 28 31 2c 20 33 2c 20 33 29 5c 6e 20 20 20 20 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 | t(1,.3,.3)\n....ot.plot.plot2D_s |
cc20 | 61 6d 70 6c 65 73 5f 6d 61 74 28 78 73 2c 20 78 74 2c 20 47 70 2c 20 63 3d 5b 2e 35 2c 20 2e 35 | amples_mat(xs,.xt,.Gp,.c=[.5,..5 |
cc40 | 2c 20 31 5d 29 5c 6e 20 20 20 20 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a 2c 20 30 5d 2c 20 78 73 5b | ,.1])\n....pl.plot(xs[:,.0],.xs[ |
cc60 | 3a 2c 20 31 5d 2c 20 27 2b 62 27 2c 20 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c | :,.1],.'+b',.label='Source.sampl |
cc80 | 65 73 27 29 5c 6e 20 20 20 20 70 6c 2e 70 6c 6f 74 28 78 74 5b 3a 2c 20 30 5d 2c 20 78 74 5b 3a | es')\n....pl.plot(xt[:,.0],.xt[: |
cca0 | 2c 20 31 5d 2c 20 27 78 72 27 2c 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 | ,.1],.'xr',.label='Target.sample |
ccc0 | 73 27 29 5c 6e 20 20 20 20 70 6c 2e 61 78 69 73 28 27 65 71 75 61 6c 27 29 5c 6e 20 20 20 20 23 | s')\n....pl.axis('equal')\n....# |
cce0 | 20 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 20 20 20 20 70 6c 2e 74 69 74 6c 65 28 | .pl.legend(loc=0)\n....pl.title( |
cd00 | 27 4f 54 20 73 71 72 74 20 45 75 63 6c 69 64 65 61 6e 27 29 5c 6e 20 20 20 20 70 6c 2e 74 69 67 | 'OT.sqrt.Euclidean')\n....pl.tig |
cd20 | 68 74 5f 6c 61 79 6f 75 74 28 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 | ht_layout()\n\npl.show()"....... |
cd40 | 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 | ],........"outputs":.[],........ |
cd60 | 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 | "metadata":.{........."collapsed |
cd80 | 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 | ":.false.......}.....}...],...." |
cda0 | 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b | metadata":.{....."kernelspec":.{ |
cdc0 | 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 | ......."display_name":."Python.2 |
cde0 | 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 | ",........"name":."python2",.... |
ce00 | 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 | ...."language":."python".....},. |
ce20 | 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d | ....."language_info":.{......."m |
ce40 | 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 | imetype":."text/x-python",...... |
ce60 | 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 | .."nbconvert_exporter":."python" |
ce80 | 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 | ,........"name":."python",...... |
cea0 | 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 | .."file_extension":.".py",...... |
cec0 | 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a 20 20 20 20 20 20 22 70 | .."version":."2.7.12",........"p |
cee0 | 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 | ygments_lexer":."ipython2",..... |
cf00 | 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 | ..."codemirror_mode":.{......... |
cf20 | 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 | "version":.2,.........."name":." |
cf40 | 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 | ipython".......}.....}...}.}PK.. |
cf60 | 14 00 00 00 00 00 a7 85 1e 4b 1c bf a6 e3 bf 0a 00 00 bf 0a 00 00 26 00 00 00 61 75 74 6f 5f 65 | .........K............&...auto_e |
cf80 | 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 5f 32 44 5f 73 61 6d 70 6c 65 73 2e 69 70 79 6e 62 | xamples/plot_OT_2D_samples.ipynb |
cfa0 | 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 6e 62 66 | {..."nbformat_minor":.0,...."nbf |
cfc0 | 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 | ormat":.4,...."cells":.[.....{.. |
cfe0 | 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 | ....."execution_count":.null,... |
d000 | 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 | ....."cell_type":."code",....... |
d020 | 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 74 70 6c 6f 74 6c 69 | ."source":.[........."%matplotli |
d040 | 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 | b.inline".......],........"outpu |
d060 | 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 | ts":.[],........"metadata":.{... |
d080 | 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d | ......"collapsed":.false.......} |
d0a0 | 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b | .....},......{......."source":.[ |
d0c0 | 0a 20 20 20 20 20 20 20 20 22 5c 6e 23 20 32 44 20 4f 70 74 69 6d 61 6c 20 74 72 61 6e 73 70 6f | ........."\n#.2D.Optimal.transpo |
d0e0 | 72 74 20 62 65 74 77 65 65 6e 20 65 6d 70 69 72 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f | rt.between.empirical.distributio |
d100 | 6e 73 5c 6e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c | ns\n\n\n\n".......],........"cel |
d120 | 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 | l_type":."markdown",........"met |
d140 | 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 | adata":.{}.....},......{......." |
d160 | 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 | execution_count":.null,........" |
d180 | 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 | cell_type":."code",........"sour |
d1a0 | 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 20 41 75 74 68 6f 72 3a 20 52 65 6d 69 20 46 | ce":.[........."#.Author:.Remi.F |
d1c0 | 6c 61 6d 61 72 79 20 3c 72 65 6d 69 2e 66 6c 61 6d 61 72 79 40 75 6e 69 63 65 2e 66 72 3e 5c 6e | lamary.<remi.flamary@unice.fr>\n |
d1e0 | 23 5c 6e 23 20 4c 69 63 65 6e 73 65 3a 20 4d 49 54 20 4c 69 63 65 6e 73 65 5c 6e 5c 6e 69 6d 70 | #\n#.License:.MIT.License\n\nimp |
d200 | 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 6d 61 74 70 6c 6f 74 6c | ort.numpy.as.np\nimport.matplotl |
d220 | 69 62 2e 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 5c 6e 23 25 25 | ib.pylab.as.pl\nimport.ot\n\n#%% |
d240 | 20 70 61 72 61 6d 65 74 65 72 73 20 61 6e 64 20 64 61 74 61 20 67 65 6e 65 72 61 74 69 6f 6e 5c | .parameters.and.data.generation\ |
d260 | 6e 5c 6e 6e 20 3d 20 35 30 20 20 23 20 6e 62 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 6d 75 5f 73 20 | n\nn.=.50..#.nb.samples\n\nmu_s. |
d280 | 3d 20 6e 70 2e 61 72 72 61 79 28 5b 30 2c 20 30 5d 29 5c 6e 63 6f 76 5f 73 20 3d 20 6e 70 2e 61 | =.np.array([0,.0])\ncov_s.=.np.a |
d2a0 | 72 72 61 79 28 5b 5b 31 2c 20 30 5d 2c 20 5b 30 2c 20 31 5d 5d 29 5c 6e 5c 6e 6d 75 5f 74 20 3d | rray([[1,.0],.[0,.1]])\n\nmu_t.= |
d2c0 | 20 6e 70 2e 61 72 72 61 79 28 5b 34 2c 20 34 5d 29 5c 6e 63 6f 76 5f 74 20 3d 20 6e 70 2e 61 72 | .np.array([4,.4])\ncov_t.=.np.ar |
d2e0 | 72 61 79 28 5b 5b 31 2c 20 2d 2e 38 5d 2c 20 5b 2d 2e 38 2c 20 31 5d 5d 29 5c 6e 5c 6e 78 73 20 | ray([[1,.-.8],.[-.8,.1]])\n\nxs. |
d300 | 3d 20 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 32 44 5f 73 61 6d 70 6c 65 73 5f 67 61 75 | =.ot.datasets.get_2D_samples_gau |
d320 | 73 73 28 6e 2c 20 6d 75 5f 73 2c 20 63 6f 76 5f 73 29 5c 6e 78 74 20 3d 20 6f 74 2e 64 61 74 61 | ss(n,.mu_s,.cov_s)\nxt.=.ot.data |
d340 | 73 65 74 73 2e 67 65 74 5f 32 44 5f 73 61 6d 70 6c 65 73 5f 67 61 75 73 73 28 6e 2c 20 6d 75 5f | sets.get_2D_samples_gauss(n,.mu_ |
d360 | 74 2c 20 63 6f 76 5f 74 29 5c 6e 5c 6e 61 2c 20 62 20 3d 20 6e 70 2e 6f 6e 65 73 28 28 6e 2c 29 | t,.cov_t)\n\na,.b.=.np.ones((n,) |
d380 | 29 20 2f 20 6e 2c 20 6e 70 2e 6f 6e 65 73 28 28 6e 2c 29 29 20 2f 20 6e 20 20 23 20 75 6e 69 66 | )./.n,.np.ones((n,))./.n..#.unif |
d3a0 | 6f 72 6d 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 6e 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 23 | orm.distribution.on.samples\n\n# |
d3c0 | 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 4d 20 3d 20 6f 74 2e 64 69 73 74 28 78 73 2c 20 78 74 | .loss.matrix\nM.=.ot.dist(xs,.xt |
d3e0 | 29 5c 6e 4d 20 2f 3d 20 4d 2e 6d 61 78 28 29 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 73 61 6d 70 | )\nM./=.M.max()\n\n#%%.plot.samp |
d400 | 6c 65 73 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 31 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 73 5b | les\n\npl.figure(1)\npl.plot(xs[ |
d420 | 3a 2c 20 30 5d 2c 20 78 73 5b 3a 2c 20 31 5d 2c 20 27 2b 62 27 2c 20 6c 61 62 65 6c 3d 27 53 6f | :,.0],.xs[:,.1],.'+b',.label='So |
d440 | 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 74 5b 3a 2c 20 30 5d | urce.samples')\npl.plot(xt[:,.0] |
d460 | 2c 20 78 74 5b 3a 2c 20 31 5d 2c 20 27 78 72 27 2c 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 | ,.xt[:,.1],.'xr',.label='Target. |
d480 | 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c 2e | samples')\npl.legend(loc=0)\npl. |
d4a0 | 74 69 74 6c 65 28 27 53 6f 75 72 63 65 20 61 6e 64 20 74 61 72 67 65 74 20 64 69 73 74 72 69 62 | title('Source.and.target.distrib |
d4c0 | 75 74 69 6f 6e 73 27 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 29 5c 6e 70 6c 2e 69 6d 73 | utions')\n\npl.figure(2)\npl.ims |
d4e0 | 68 6f 77 28 4d 2c 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c | how(M,.interpolation='nearest')\ |
d500 | 6e 70 6c 2e 74 69 74 6c 65 28 27 43 6f 73 74 20 6d 61 74 72 69 78 20 4d 27 29 5c 6e 5c 6e 5c 6e | npl.title('Cost.matrix.M')\n\n\n |
d520 | 23 25 25 20 45 4d 44 5c 6e 5c 6e 47 30 20 3d 20 6f 74 2e 65 6d 64 28 61 2c 20 62 2c 20 4d 29 5c | #%%.EMD\n\nG0.=.ot.emd(a,.b,.M)\ |
d540 | 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 33 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 47 30 2c 20 69 | n\npl.figure(3)\npl.imshow(G0,.i |
d560 | 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 70 6c 2e 74 69 74 6c | nterpolation='nearest')\npl.titl |
d580 | 65 28 27 4f 54 20 6d 61 74 72 69 78 20 47 30 27 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 34 | e('OT.matrix.G0')\n\npl.figure(4 |
d5a0 | 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 6c 65 73 5f 6d 61 74 28 78 73 | )\not.plot.plot2D_samples_mat(xs |
d5c0 | 2c 20 78 74 2c 20 47 30 2c 20 63 3d 5b 2e 35 2c 20 2e 35 2c 20 31 5d 29 5c 6e 70 6c 2e 70 6c 6f | ,.xt,.G0,.c=[.5,..5,.1])\npl.plo |
d5e0 | 74 28 78 73 5b 3a 2c 20 30 5d 2c 20 78 73 5b 3a 2c 20 31 5d 2c 20 27 2b 62 27 2c 20 6c 61 62 65 | t(xs[:,.0],.xs[:,.1],.'+b',.labe |
d600 | 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 74 5b | l='Source.samples')\npl.plot(xt[ |
d620 | 3a 2c 20 30 5d 2c 20 78 74 5b 3a 2c 20 31 5d 2c 20 27 78 72 27 2c 20 6c 61 62 65 6c 3d 27 54 61 | :,.0],.xt[:,.1],.'xr',.label='Ta |
d640 | 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 | rget.samples')\npl.legend(loc=0) |
d660 | 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 20 77 69 74 68 20 73 61 6d 70 6c | \npl.title('OT.matrix.with.sampl |
d680 | 65 73 27 29 5c 6e 5c 6e 5c 6e 23 25 25 20 73 69 6e 6b 68 6f 72 6e 5c 6e 5c 6e 23 20 72 65 67 20 | es')\n\n\n#%%.sinkhorn\n\n#.reg. |
d6a0 | 74 65 72 6d 5c 6e 6c 61 6d 62 64 20 3d 20 31 65 2d 33 5c 6e 5c 6e 47 73 20 3d 20 6f 74 2e 73 69 | term\nlambd.=.1e-3\n\nGs.=.ot.si |
d6c0 | 6e 6b 68 6f 72 6e 28 61 2c 20 62 2c 20 4d 2c 20 6c 61 6d 62 64 29 5c 6e 5c 6e 70 6c 2e 66 69 67 | nkhorn(a,.b,.M,.lambd)\n\npl.fig |
d6e0 | 75 72 65 28 35 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 47 73 2c 20 69 6e 74 65 72 70 6f 6c 61 74 | ure(5)\npl.imshow(Gs,.interpolat |
d700 | 69 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 | ion='nearest')\npl.title('OT.mat |
d720 | 72 69 78 20 73 69 6e 6b 68 6f 72 6e 27 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 36 29 5c 6e | rix.sinkhorn')\n\npl.figure(6)\n |
d740 | 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 6c 65 73 5f 6d 61 74 28 78 73 2c 20 78 | ot.plot.plot2D_samples_mat(xs,.x |
d760 | 74 2c 20 47 73 2c 20 63 6f 6c 6f 72 3d 5b 2e 35 2c 20 2e 35 2c 20 31 5d 29 5c 6e 70 6c 2e 70 6c | t,.Gs,.color=[.5,..5,.1])\npl.pl |
d780 | 6f 74 28 78 73 5b 3a 2c 20 30 5d 2c 20 78 73 5b 3a 2c 20 31 5d 2c 20 27 2b 62 27 2c 20 6c 61 62 | ot(xs[:,.0],.xs[:,.1],.'+b',.lab |
d7a0 | 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 74 | el='Source.samples')\npl.plot(xt |
d7c0 | 5b 3a 2c 20 30 5d 2c 20 78 74 5b 3a 2c 20 31 5d 2c 20 27 78 72 27 2c 20 6c 61 62 65 6c 3d 27 54 | [:,.0],.xt[:,.1],.'xr',.label='T |
d7e0 | 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 | arget.samples')\npl.legend(loc=0 |
d800 | 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 20 53 69 6e 6b 68 6f 72 6e 20 | )\npl.title('OT.matrix.Sinkhorn. |
d820 | 77 69 74 68 20 73 61 6d 70 6c 65 73 27 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 | with.samples')\n\npl.show()".... |
d840 | 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 | ...],........"outputs":.[],..... |
d860 | 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 | ..."metadata":.{........."collap |
d880 | 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 5d 2c 20 0a | sed":.false.......}.....}...],.. |
d8a0 | 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c 73 70 65 63 22 | .."metadata":.{....."kernelspec" |
d8c0 | 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f | :.{......."display_name":."Pytho |
d8e0 | 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 32 22 2c 20 | n.2",........"name":."python2",. |
d900 | 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 0a 20 20 20 20 | ......."language":."python"..... |
d920 | 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 | },......"language_info":.{...... |
d940 | 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 20 0a 20 | ."mimetype":."text/x-python",... |
d960 | 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 22 70 79 74 68 | ....."nbconvert_exporter":."pyth |
d980 | 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 | on",........"name":."python",... |
d9a0 | 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 20 0a 20 | ....."file_extension":.".py",... |
d9c0 | 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a 20 20 20 20 20 | ....."version":."2.7.12",....... |
d9e0 | 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 32 22 2c 20 0a | ."pygments_lexer":."ipython2",.. |
da00 | 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a 20 20 20 20 20 | ......"codemirror_mode":.{...... |
da20 | 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 | ..."version":.2,.........."name" |
da40 | 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 | :."ipython".......}.....}...}.}P |
da60 | 4b 03 04 14 00 00 00 00 00 75 7b 82 49 55 d4 67 d2 3c 0e 00 00 3c 0e 00 00 20 00 00 00 61 75 74 | K........u{.IU.g.<...<.......aut |
da80 | 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 44 41 5f 32 44 2e 69 70 79 6e 62 7b 0a 20 | o_examples/plot_OTDA_2D.ipynb{.. |
daa0 | 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 6e 62 66 6f 72 6d | ."nbformat_minor":.0,...."nbform |
dac0 | 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 | at":.4,...."cells":.[.....{..... |
dae0 | 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 | .."execution_count":.null,...... |
db00 | 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 | .."cell_type":."code",........"s |
db20 | 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 74 70 6c 6f 74 6c 69 62 20 69 | ource":.[........."%matplotlib.i |
db40 | 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 | nline".......],........"outputs" |
db60 | 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 | :.[],........"metadata":.{...... |
db80 | 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 | ..."collapsed":.false.......}... |
dba0 | 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 | ..},......{......."source":.[... |
dbc0 | 20 20 20 20 20 20 22 5c 6e 23 20 4f 54 20 66 6f 72 20 65 6d 70 69 72 69 63 61 6c 20 64 69 73 74 | ......"\n#.OT.for.empirical.dist |
dbe0 | 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 | ributions\n\n\n\n".......],..... |
dc00 | 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 | ..."cell_type":."markdown",..... |
dc20 | 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a | ..."metadata":.{}.....},......{. |
dc40 | 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a | ......"execution_count":.null,.. |
dc60 | 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 | ......"cell_type":."code",...... |
dc80 | 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 6d 70 6f 72 74 20 6e 75 | .."source":.[........."import.nu |
dca0 | 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 70 79 6c | mpy.as.np\nimport.matplotlib.pyl |
dcc0 | 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 70 | ab.as.pl\nimport.ot\n\n\n\n#%%.p |
dce0 | 61 72 61 6d 65 74 65 72 73 5c 6e 5c 6e 6e 3d 31 35 30 20 23 20 6e 62 20 62 69 6e 73 5c 6e 5c 6e | arameters\n\nn=150.#.nb.bins\n\n |
dd00 | 78 73 2c 79 73 3d 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 64 61 74 61 5f 63 6c 61 73 73 | xs,ys=ot.datasets.get_data_class |
dd20 | 69 66 28 27 33 67 61 75 73 73 27 2c 6e 29 5c 6e 78 74 2c 79 74 3d 6f 74 2e 64 61 74 61 73 65 74 | if('3gauss',n)\nxt,yt=ot.dataset |
dd40 | 73 2e 67 65 74 5f 64 61 74 61 5f 63 6c 61 73 73 69 66 28 27 33 67 61 75 73 73 32 27 2c 6e 29 5c | s.get_data_classif('3gauss2',n)\ |
dd60 | 6e 5c 6e 61 2c 62 20 3d 20 6f 74 2e 75 6e 69 66 28 6e 29 2c 6f 74 2e 75 6e 69 66 28 6e 29 5c 6e | n\na,b.=.ot.unif(n),ot.unif(n)\n |
dd80 | 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 4d 3d 6f 74 2e 64 69 73 74 28 78 73 2c 78 74 29 5c | #.loss.matrix\nM=ot.dist(xs,xt)\ |
dda0 | 6e 23 4d 2f 3d 4d 2e 6d 61 78 28 29 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 73 61 6d 70 6c 65 73 | n#M/=M.max()\n\n#%%.plot.samples |
ddc0 | 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 31 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 | \n\npl.figure(1)\n\npl.subplot(2 |
dde0 | 2c 32 2c 31 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 31 | ,2,1)\npl.scatter(xs[:,0],xs[:,1 |
de00 | 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 | ],c=ys,marker='+',label='Source. |
de20 | 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c 2e | samples')\npl.legend(loc=0)\npl. |
de40 | 74 69 74 6c 65 28 27 53 6f 75 72 63 65 20 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e | title('Source..distributions')\n |
de60 | 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 | \npl.subplot(2,2,2)\npl.scatter( |
de80 | 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c | xt[:,0],xt[:,1],c=yt,marker='o', |
dea0 | 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 | label='Target.samples')\npl.lege |
dec0 | 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 74 61 72 67 65 74 20 20 64 69 73 | nd(loc=0)\npl.title('target..dis |
dee0 | 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 29 5c 6e 70 6c | tributions')\n\npl.figure(2)\npl |
df00 | 2e 69 6d 73 68 6f 77 28 4d 2c 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 73 74 | .imshow(M,interpolation='nearest |
df20 | 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 43 6f 73 74 20 6d 61 74 72 69 78 20 4d 27 29 5c 6e 5c | ')\npl.title('Cost.matrix.M')\n\ |
df40 | 6e 5c 6e 23 25 25 20 4f 54 20 65 73 74 69 6d 61 74 69 6f 6e 5c 6e 5c 6e 23 20 45 4d 44 5c 6e 47 | n\n#%%.OT.estimation\n\n#.EMD\nG |
df60 | 30 3d 6f 74 2e 65 6d 64 28 61 2c 62 2c 4d 29 5c 6e 5c 6e 23 20 73 69 6e 6b 68 6f 72 6e 5c 6e 6c | 0=ot.emd(a,b,M)\n\n#.sinkhorn\nl |
df80 | 61 6d 62 64 3d 31 65 2d 31 5c 6e 47 73 3d 6f 74 2e 73 69 6e 6b 68 6f 72 6e 28 61 2c 62 2c 4d 2c | ambd=1e-1\nGs=ot.sinkhorn(a,b,M, |
dfa0 | 6c 61 6d 62 64 29 5c 6e 5c 6e 5c 6e 23 20 47 72 6f 75 70 20 6c 61 73 73 6f 20 72 65 67 75 6c 61 | lambd)\n\n\n#.Group.lasso.regula |
dfc0 | 72 69 7a 61 74 69 6f 6e 5c 6e 72 65 67 3d 31 65 2d 31 5c 6e 65 74 61 3d 31 65 30 5c 6e 47 67 3d | rization\nreg=1e-1\neta=1e0\nGg= |
dfe0 | 6f 74 2e 64 61 2e 73 69 6e 6b 68 6f 72 6e 5f 6c 70 6c 31 5f 6d 6d 28 61 2c 79 73 2e 61 73 74 79 | ot.da.sinkhorn_lpl1_mm(a,ys.asty |
e000 | 70 65 28 6e 70 2e 69 6e 74 29 2c 62 2c 4d 2c 72 65 67 2c 65 74 61 29 5c 6e 5c 6e 5c 6e 23 25 25 | pe(np.int),b,M,reg,eta)\n\n\n#%% |
e020 | 20 76 69 73 75 20 6d 61 74 72 69 63 65 73 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 33 29 5c 6e | .visu.matrices\n\npl.figure(3)\n |
e040 | 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 31 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 47 | \npl.subplot(2,3,1)\npl.imshow(G |
e060 | 30 2c 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 70 6c 2e 74 | 0,interpolation='nearest')\npl.t |
e080 | 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 20 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 | itle('OT.matrix.')\n\npl.subplot |
e0a0 | 28 32 2c 33 2c 32 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 47 73 2c 69 6e 74 65 72 70 6f 6c 61 74 | (2,3,2)\npl.imshow(Gs,interpolat |
e0c0 | 69 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 | ion='nearest')\npl.title('OT.mat |
e0e0 | 72 69 78 20 53 69 6e 6b 68 6f 72 6e 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 | rix.Sinkhorn')\n\npl.subplot(2,3 |
e100 | 2c 33 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 47 67 2c 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d | ,3)\npl.imshow(Gg,interpolation= |
e120 | 27 6e 65 61 72 65 73 74 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 20 | 'nearest')\npl.title('OT.matrix. |
e140 | 47 72 6f 75 70 20 6c 61 73 73 6f 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c | Group.lasso')\n\npl.subplot(2,3, |
e160 | 34 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 6c 65 73 5f 6d 61 74 28 78 | 4)\not.plot.plot2D_samples_mat(x |
e180 | 73 2c 78 74 2c 47 30 2c 63 3d 5b 2e 35 2c 2e 35 2c 31 5d 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 | s,xt,G0,c=[.5,.5,1])\npl.scatter |
e1a0 | 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 | (xs[:,0],xs[:,1],c=ys,marker='+' |
e1c0 | 2c 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 73 63 61 | ,label='Source.samples')\npl.sca |
e1e0 | 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 | tter(xt[:,0],xt[:,1],c=yt,marker |
e200 | 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 5c 6e | ='o',label='Target.samples')\n\n |
e220 | 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 35 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f | \npl.subplot(2,3,5)\not.plot.plo |
e240 | 74 32 44 5f 73 61 6d 70 6c 65 73 5f 6d 61 74 28 78 73 2c 78 74 2c 47 73 2c 63 3d 5b 2e 35 2c 2e | t2D_samples_mat(xs,xt,Gs,c=[.5,. |
e260 | 35 2c 31 5d 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 31 | 5,1])\npl.scatter(xs[:,0],xs[:,1 |
e280 | 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 | ],c=ys,marker='+',label='Source. |
e2a0 | 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 | samples')\npl.scatter(xt[:,0],xt |
e2c0 | 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 | [:,1],c=yt,marker='o',label='Tar |
e2e0 | 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c | get.samples')\n\npl.subplot(2,3, |
e300 | 36 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 6c 65 73 5f 6d 61 74 28 78 | 6)\not.plot.plot2D_samples_mat(x |
e320 | 73 2c 78 74 2c 47 67 2c 63 3d 5b 2e 35 2c 2e 35 2c 31 5d 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 | s,xt,Gg,c=[.5,.5,1])\npl.scatter |
e340 | 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 | (xs[:,0],xs[:,1],c=ys,marker='+' |
e360 | 2c 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 73 63 61 | ,label='Source.samples')\npl.sca |
e380 | 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 | tter(xt[:,0],xt[:,1],c=yt,marker |
e3a0 | 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 5c 6e | ='o',label='Target.samples')\n\n |
e3c0 | 23 25 25 20 73 61 6d 70 6c 65 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 5c 6e 5c 6e 78 73 74 30 | #%%.sample.interpolation\n\nxst0 |
e3e0 | 3d 6e 2a 47 30 2e 64 6f 74 28 78 74 29 5c 6e 78 73 74 73 3d 6e 2a 47 73 2e 64 6f 74 28 78 74 29 | =n*G0.dot(xt)\nxsts=n*Gs.dot(xt) |
e400 | 5c 6e 78 73 74 67 3d 6e 2a 47 67 2e 64 6f 74 28 78 74 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 | \nxstg=n*Gg.dot(xt)\n\npl.figure |
e420 | 28 34 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 31 29 5c 6e 5c 6e 5c 6e 70 6c 2e 73 | (4)\npl.subplot(2,3,1)\n\n\npl.s |
e440 | 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b | catter(xt[:,0],xt[:,1],c=yt,mark |
e460 | 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 61 6c | er='o',label='Target.samples',al |
e480 | 70 68 61 3d 30 2e 35 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 30 5b 3a 2c 30 5d 2c 78 | pha=0.5)\npl.scatter(xst0[:,0],x |
e4a0 | 73 74 30 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 | st0[:,1],c=ys,marker='+',label=' |
e4c0 | 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 73 3d 33 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 | Transp.samples',s=30)\npl.title( |
e4e0 | 27 49 6e 74 65 72 70 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 | 'Interp.samples')\npl.legend(loc |
e500 | 3d 30 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 32 29 5c 6e 5c 6e 5c 6e 70 6c | =0)\n\npl.subplot(2,3,2)\n\n\npl |
e520 | 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 | .scatter(xt[:,0],xt[:,1],c=yt,ma |
e540 | 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c | rker='o',label='Target.samples', |
e560 | 61 6c 70 68 61 3d 30 2e 35 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 73 5b 3a 2c 30 5d | alpha=0.5)\npl.scatter(xsts[:,0] |
e580 | 2c 78 73 74 73 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c | ,xsts[:,1],c=ys,marker='+',label |
e5a0 | 3d 27 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 73 3d 33 30 29 5c 6e 70 6c 2e 74 69 74 6c | ='Transp.samples',s=30)\npl.titl |
e5c0 | 65 28 27 49 6e 74 65 72 70 20 73 61 6d 70 6c 65 73 20 53 69 6e 6b 68 6f 72 6e 27 29 5c 6e 5c 6e | e('Interp.samples.Sinkhorn')\n\n |
e5e0 | 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 33 29 5c 6e 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 | pl.subplot(2,3,3)\n\npl.scatter( |
e600 | 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c | xt[:,0],xt[:,1],c=yt,marker='o', |
e620 | 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 61 6c 70 68 61 3d 30 2e 35 | label='Target.samples',alpha=0.5 |
e640 | 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 67 5b 3a 2c 30 5d 2c 78 73 74 67 5b 3a 2c 31 | )\npl.scatter(xstg[:,0],xstg[:,1 |
e660 | 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 54 72 61 6e 73 70 20 | ],c=ys,marker='+',label='Transp. |
e680 | 73 61 6d 70 6c 65 73 27 2c 73 3d 33 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6e 74 65 72 70 | samples',s=30)\npl.title('Interp |
e6a0 | 20 73 61 6d 70 6c 65 73 20 47 72 6f 75 70 6c 61 73 73 6f 27 29 22 0a 20 20 20 20 20 20 5d 2c 20 | .samples.Grouplasso')".......],. |
e6c0 | 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 | ......."outputs":.[],........"me |
e6e0 | 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 | tadata":.{........."collapsed":. |
e700 | 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 | false.......}.....}...],...."met |
e720 | 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 | adata":.{....."kernelspec":.{... |
e740 | 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 | ...."display_name":."Python.2",. |
e760 | 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 | ......."name":."python2",....... |
e780 | 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 | ."language":."python".....},.... |
e7a0 | 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 | .."language_info":.{......."mime |
e7c0 | 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 | type":."text/x-python",........" |
e7e0 | 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a | nbconvert_exporter":."python",.. |
e800 | 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 | ......"name":."python",........" |
e820 | 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 | file_extension":.".py",........" |
e840 | 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d | version":."2.7.12",........"pygm |
e860 | 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 | ents_lexer":."ipython2",........ |
e880 | 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 | "codemirror_mode":.{........."ve |
e8a0 | 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 | rsion":.2,.........."name":."ipy |
e8c0 | 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 | thon".......}.....}...}.}PK..... |
e8e0 | 00 00 00 b8 86 1e 4b 22 97 a9 c7 5d 18 00 00 5d 18 00 00 25 00 00 00 61 75 74 6f 5f 65 78 61 6d | ......K"...]...]...%...auto_exam |
e900 | 70 6c 65 73 2f 70 6c 6f 74 5f 6f 74 64 61 5f 6d 61 70 70 69 6e 67 2e 69 70 79 6e 62 7b 0a 20 20 | ples/plot_otda_mapping.ipynb{... |
e920 | 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 6e 62 66 6f 72 6d 61 | "nbformat_minor":.0,...."nbforma |
e940 | 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 | t":.4,...."cells":.[.....{...... |
e960 | 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 | ."execution_count":.null,....... |
e980 | 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f | ."cell_type":."code",........"so |
e9a0 | 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 74 70 6c 6f 74 6c 69 62 20 69 6e | urce":.[........."%matplotlib.in |
e9c0 | 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a | line".......],........"outputs": |
e9e0 | 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 | .[],........"metadata":.{....... |
ea00 | 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 | .."collapsed":.false.......}.... |
ea20 | 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | .},......{......."source":.[.... |
ea40 | 20 20 20 20 20 22 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ....."\n======================== |
ea60 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 4f 54 20 6d 61 70 70 | =======================\nOT.mapp |
ea80 | 69 6e 67 20 65 73 74 69 6d 61 74 69 6f 6e 20 66 6f 72 20 64 6f 6d 61 69 6e 20 61 64 61 70 74 61 | ing.estimation.for.domain.adapta |
eaa0 | 74 69 6f 6e 20 5b 38 5d 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | tion.[8]\n====================== |
eac0 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 5c 6e 54 68 69 | =========================\n\nThi |
eae0 | 73 20 65 78 61 6d 70 6c 65 20 70 72 65 73 65 6e 74 73 20 68 6f 77 20 74 6f 20 75 73 65 20 4d 61 | s.example.presents.how.to.use.Ma |
eb00 | 70 70 69 6e 67 54 72 61 6e 73 70 6f 72 74 20 74 6f 20 65 73 74 69 6d 61 74 65 20 61 74 20 74 68 | ppingTransport.to.estimate.at.th |
eb20 | 65 20 73 61 6d 65 5c 6e 74 69 6d 65 20 62 6f 74 68 20 74 68 65 20 63 6f 75 70 6c 69 6e 67 20 74 | e.same\ntime.both.the.coupling.t |
eb40 | 72 61 6e 73 70 6f 72 74 20 61 6e 64 20 61 70 70 72 6f 78 69 6d 61 74 65 20 74 68 65 20 74 72 61 | ransport.and.approximate.the.tra |
eb60 | 6e 73 70 6f 72 74 20 6d 61 70 20 77 69 74 68 20 65 69 74 68 65 72 5c 6e 61 20 6c 69 6e 65 61 72 | nsport.map.with.either\na.linear |
eb80 | 20 6f 72 20 61 20 6b 65 72 6e 65 6c 69 7a 65 64 20 6d 61 70 70 69 6e 67 20 61 73 20 69 6e 74 72 | .or.a.kernelized.mapping.as.intr |
eba0 | 6f 64 75 63 65 64 20 69 6e 20 5b 38 5d 5c 6e 5c 6e 5b 38 5d 20 4d 2e 20 50 65 72 72 6f 74 2c 20 | oduced.in.[8]\n\n[8].M..Perrot,. |
ebc0 | 4e 2e 20 43 6f 75 72 74 79 2c 20 52 2e 20 46 6c 61 6d 61 72 79 2c 20 41 2e 20 48 61 62 72 61 72 | N..Courty,.R..Flamary,.A..Habrar |
ebe0 | 64 2c 5c 6e 20 20 20 20 5c 22 4d 61 70 70 69 6e 67 20 65 73 74 69 6d 61 74 69 6f 6e 20 66 6f 72 | d,\n....\"Mapping.estimation.for |
ec00 | 20 64 69 73 63 72 65 74 65 20 6f 70 74 69 6d 61 6c 20 74 72 61 6e 73 70 6f 72 74 5c 22 2c 5c 6e | .discrete.optimal.transport\",\n |
ec20 | 20 20 20 20 4e 65 75 72 61 6c 20 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 50 72 6f 63 65 73 73 69 6e | ....Neural.Information.Processin |
ec40 | 67 20 53 79 73 74 65 6d 73 20 28 4e 49 50 53 29 2c 20 32 30 31 36 2e 5c 6e 5c 6e 22 0a 20 20 20 | g.Systems.(NIPS),.2016.\n\n".... |
ec60 | 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 | ...],........"cell_type":."markd |
ec80 | 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 | own",........"metadata":.{}..... |
eca0 | 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 | },......{......."execution_count |
ecc0 | 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f | ":.null,........"cell_type":."co |
ece0 | 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 | de",........"source":.[......... |
ed00 | 22 23 20 41 75 74 68 6f 72 73 3a 20 52 65 6d 69 20 46 6c 61 6d 61 72 79 20 3c 72 65 6d 69 2e 66 | "#.Authors:.Remi.Flamary.<remi.f |
ed20 | 6c 61 6d 61 72 79 40 75 6e 69 63 65 2e 66 72 3e 5c 6e 23 20 20 20 20 20 20 20 20 20 20 53 74 61 | lamary@unice.fr>\n#..........Sta |
ed40 | 6e 69 73 6c 61 73 20 43 68 61 6d 62 6f 6e 20 3c 73 74 61 6e 2e 63 68 61 6d 62 6f 6e 40 67 6d 61 | nislas.Chambon.<stan.chambon@gma |
ed60 | 69 6c 2e 63 6f 6d 3e 5c 6e 23 5c 6e 23 20 4c 69 63 65 6e 73 65 3a 20 4d 49 54 20 4c 69 63 65 6e | il.com>\n#\n#.License:.MIT.Licen |
ed80 | 73 65 5c 6e 5c 6e 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 | se\n\nimport.numpy.as.np\nimport |
eda0 | 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 | .matplotlib.pylab.as.pl\nimport. |
edc0 | 6f 74 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b | ot".......],........"outputs":.[ |
ede0 | 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 | ],........"metadata":.{......... |
ee00 | 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d | "collapsed":.false.......}.....} |
ee20 | 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 | ,......{......."source":.[...... |
ee40 | 20 20 20 22 67 65 6e 65 72 61 74 65 20 64 61 74 61 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 | ..."generate.data\n############# |
ee60 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
ee80 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
eea0 | 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 | \n\n".......],........"cell_type |
eec0 | 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 | ":."markdown",........"metadata" |
eee0 | 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 | :.{}.....},......{......."execut |
ef00 | 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 | ion_count":.null,........"cell_t |
ef20 | 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b | ype":."code",........"source":.[ |
ef40 | 0a 20 20 20 20 20 20 20 20 22 6e 5f 73 6f 75 72 63 65 5f 73 61 6d 70 6c 65 73 20 3d 20 31 30 30 | ........."n_source_samples.=.100 |
ef60 | 5c 6e 6e 5f 74 61 72 67 65 74 5f 73 61 6d 70 6c 65 73 20 3d 20 31 30 30 5c 6e 74 68 65 74 61 20 | \nn_target_samples.=.100\ntheta. |
ef80 | 3d 20 32 20 2a 20 6e 70 2e 70 69 20 2f 20 32 30 5c 6e 6e 6f 69 73 65 5f 6c 65 76 65 6c 20 3d 20 | =.2.*.np.pi./.20\nnoise_level.=. |
efa0 | 30 2e 31 5c 6e 5c 6e 58 73 2c 20 79 73 20 3d 20 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f | 0.1\n\nXs,.ys.=.ot.datasets.get_ |
efc0 | 64 61 74 61 5f 63 6c 61 73 73 69 66 28 5c 6e 20 20 20 20 27 67 61 75 73 73 72 6f 74 27 2c 20 6e | data_classif(\n....'gaussrot',.n |
efe0 | 5f 73 6f 75 72 63 65 5f 73 61 6d 70 6c 65 73 2c 20 6e 7a 3d 6e 6f 69 73 65 5f 6c 65 76 65 6c 29 | _source_samples,.nz=noise_level) |
f000 | 5c 6e 58 73 5f 6e 65 77 2c 20 5f 20 3d 20 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 64 61 | \nXs_new,._.=.ot.datasets.get_da |
f020 | 74 61 5f 63 6c 61 73 73 69 66 28 5c 6e 20 20 20 20 27 67 61 75 73 73 72 6f 74 27 2c 20 6e 5f 73 | ta_classif(\n....'gaussrot',.n_s |
f040 | 6f 75 72 63 65 5f 73 61 6d 70 6c 65 73 2c 20 6e 7a 3d 6e 6f 69 73 65 5f 6c 65 76 65 6c 29 5c 6e | ource_samples,.nz=noise_level)\n |
f060 | 58 74 2c 20 79 74 20 3d 20 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 64 61 74 61 5f 63 6c | Xt,.yt.=.ot.datasets.get_data_cl |
f080 | 61 73 73 69 66 28 5c 6e 20 20 20 20 27 67 61 75 73 73 72 6f 74 27 2c 20 6e 5f 74 61 72 67 65 74 | assif(\n....'gaussrot',.n_target |
f0a0 | 5f 73 61 6d 70 6c 65 73 2c 20 74 68 65 74 61 3d 74 68 65 74 61 2c 20 6e 7a 3d 6e 6f 69 73 65 5f | _samples,.theta=theta,.nz=noise_ |
f0c0 | 6c 65 76 65 6c 29 5c 6e 5c 6e 23 20 6f 6e 65 20 6f 66 20 74 68 65 20 74 61 72 67 65 74 20 6d 6f | level)\n\n#.one.of.the.target.mo |
f0e0 | 64 65 20 63 68 61 6e 67 65 73 20 69 74 73 20 76 61 72 69 61 6e 63 65 20 28 6e 6f 20 6c 69 6e 65 | de.changes.its.variance.(no.line |
f100 | 61 72 20 6d 61 70 70 69 6e 67 29 5c 6e 58 74 5b 79 74 20 3d 3d 20 32 5d 20 2a 3d 20 33 5c 6e 58 | ar.mapping)\nXt[yt.==.2].*=.3\nX |
f120 | 74 20 3d 20 58 74 20 2b 20 34 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 | t.=.Xt.+.4".......],........"out |
f140 | 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a | puts":.[],........"metadata":.{. |
f160 | 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 | ........"collapsed":.false...... |
f180 | 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a | .}.....},......{......."source": |
f1a0 | 20 5b 0a 20 20 20 20 20 20 20 20 22 49 6e 73 74 61 6e 74 69 61 74 65 20 74 68 65 20 64 69 66 66 | .[........."Instantiate.the.diff |
f1c0 | 65 72 65 6e 74 20 74 72 61 6e 73 70 6f 72 74 20 61 6c 67 6f 72 69 74 68 6d 73 20 61 6e 64 20 66 | erent.transport.algorithms.and.f |
f1e0 | 69 74 20 74 68 65 6d 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | it.them\n####################### |
f200 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
f220 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c 6e 22 0a 20 20 20 20 | ######################\n\n"..... |
f240 | 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f | ..],........"cell_type":."markdo |
f260 | 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d | wn",........"metadata":.{}.....} |
f280 | 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 | ,......{......."execution_count" |
f2a0 | 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 | :.null,........"cell_type":."cod |
f2c0 | 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 | e",........"source":.[........." |
f2e0 | 23 20 4d 61 70 70 69 6e 67 54 72 61 6e 73 70 6f 72 74 20 77 69 74 68 20 6c 69 6e 65 61 72 20 6b | #.MappingTransport.with.linear.k |
f300 | 65 72 6e 65 6c 5c 6e 6f 74 5f 6d 61 70 70 69 6e 67 5f 6c 69 6e 65 61 72 20 3d 20 6f 74 2e 64 61 | ernel\not_mapping_linear.=.ot.da |
f320 | 2e 4d 61 70 70 69 6e 67 54 72 61 6e 73 70 6f 72 74 28 5c 6e 20 20 20 20 6b 65 72 6e 65 6c 3d 5c | .MappingTransport(\n....kernel=\ |
f340 | 22 6c 69 6e 65 61 72 5c 22 2c 20 6d 75 3d 31 65 30 2c 20 65 74 61 3d 31 65 2d 38 2c 20 62 69 61 | "linear\",.mu=1e0,.eta=1e-8,.bia |
f360 | 73 3d 54 72 75 65 2c 5c 6e 20 20 20 20 6d 61 78 5f 69 74 65 72 3d 32 30 2c 20 76 65 72 62 6f 73 | s=True,\n....max_iter=20,.verbos |
f380 | 65 3d 54 72 75 65 29 5c 6e 5c 6e 6f 74 5f 6d 61 70 70 69 6e 67 5f 6c 69 6e 65 61 72 2e 66 69 74 | e=True)\n\not_mapping_linear.fit |
f3a0 | 28 58 73 3d 58 73 2c 20 58 74 3d 58 74 29 5c 6e 5c 6e 23 20 66 6f 72 20 6f 72 69 67 69 6e 61 6c | (Xs=Xs,.Xt=Xt)\n\n#.for.original |
f3c0 | 20 73 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 2c 20 74 72 61 6e 73 66 6f 72 6d 20 61 70 70 6c 69 | .source.samples,.transform.appli |
f3e0 | 65 73 20 62 61 72 79 63 65 6e 74 72 69 63 20 6d 61 70 70 69 6e 67 5c 6e 74 72 61 6e 73 70 5f 58 | es.barycentric.mapping\ntransp_X |
f400 | 73 5f 6c 69 6e 65 61 72 20 3d 20 6f 74 5f 6d 61 70 70 69 6e 67 5f 6c 69 6e 65 61 72 2e 74 72 61 | s_linear.=.ot_mapping_linear.tra |
f420 | 6e 73 66 6f 72 6d 28 58 73 3d 58 73 29 5c 6e 5c 6e 23 20 66 6f 72 20 6f 75 74 20 6f 66 20 73 6f | nsform(Xs=Xs)\n\n#.for.out.of.so |
f440 | 75 72 63 65 20 73 61 6d 70 6c 65 73 2c 20 74 72 61 6e 73 66 6f 72 6d 20 61 70 70 6c 69 65 73 20 | urce.samples,.transform.applies. |
f460 | 74 68 65 20 6c 69 6e 65 61 72 20 6d 61 70 70 69 6e 67 5c 6e 74 72 61 6e 73 70 5f 58 73 5f 6c 69 | the.linear.mapping\ntransp_Xs_li |
f480 | 6e 65 61 72 5f 6e 65 77 20 3d 20 6f 74 5f 6d 61 70 70 69 6e 67 5f 6c 69 6e 65 61 72 2e 74 72 61 | near_new.=.ot_mapping_linear.tra |
f4a0 | 6e 73 66 6f 72 6d 28 58 73 3d 58 73 5f 6e 65 77 29 5c 6e 5c 6e 5c 6e 23 20 4d 61 70 70 69 6e 67 | nsform(Xs=Xs_new)\n\n\n#.Mapping |
f4c0 | 54 72 61 6e 73 70 6f 72 74 20 77 69 74 68 20 67 61 75 73 73 69 61 6e 20 6b 65 72 6e 65 6c 5c 6e | Transport.with.gaussian.kernel\n |
f4e0 | 6f 74 5f 6d 61 70 70 69 6e 67 5f 67 61 75 73 73 69 61 6e 20 3d 20 6f 74 2e 64 61 2e 4d 61 70 70 | ot_mapping_gaussian.=.ot.da.Mapp |
f500 | 69 6e 67 54 72 61 6e 73 70 6f 72 74 28 5c 6e 20 20 20 20 6b 65 72 6e 65 6c 3d 5c 22 67 61 75 73 | ingTransport(\n....kernel=\"gaus |
f520 | 73 69 61 6e 5c 22 2c 20 65 74 61 3d 31 65 2d 35 2c 20 6d 75 3d 31 65 2d 31 2c 20 62 69 61 73 3d | sian\",.eta=1e-5,.mu=1e-1,.bias= |
f540 | 54 72 75 65 2c 20 73 69 67 6d 61 3d 31 2c 5c 6e 20 20 20 20 6d 61 78 5f 69 74 65 72 3d 31 30 2c | True,.sigma=1,\n....max_iter=10, |
f560 | 20 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 6f 74 5f 6d 61 70 70 69 6e 67 5f 67 61 75 73 73 | .verbose=True)\not_mapping_gauss |
f580 | 69 61 6e 2e 66 69 74 28 58 73 3d 58 73 2c 20 58 74 3d 58 74 29 5c 6e 5c 6e 23 20 66 6f 72 20 6f | ian.fit(Xs=Xs,.Xt=Xt)\n\n#.for.o |
f5a0 | 72 69 67 69 6e 61 6c 20 73 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 2c 20 74 72 61 6e 73 66 6f 72 | riginal.source.samples,.transfor |
f5c0 | 6d 20 61 70 70 6c 69 65 73 20 62 61 72 79 63 65 6e 74 72 69 63 20 6d 61 70 70 69 6e 67 5c 6e 74 | m.applies.barycentric.mapping\nt |
f5e0 | 72 61 6e 73 70 5f 58 73 5f 67 61 75 73 73 69 61 6e 20 3d 20 6f 74 5f 6d 61 70 70 69 6e 67 5f 67 | ransp_Xs_gaussian.=.ot_mapping_g |
f600 | 61 75 73 73 69 61 6e 2e 74 72 61 6e 73 66 6f 72 6d 28 58 73 3d 58 73 29 5c 6e 5c 6e 23 20 66 6f | aussian.transform(Xs=Xs)\n\n#.fo |
f620 | 72 20 6f 75 74 20 6f 66 20 73 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 2c 20 74 72 61 6e 73 66 6f | r.out.of.source.samples,.transfo |
f640 | 72 6d 20 61 70 70 6c 69 65 73 20 74 68 65 20 67 61 75 73 73 69 61 6e 20 6d 61 70 70 69 6e 67 5c | rm.applies.the.gaussian.mapping\ |
f660 | 6e 74 72 61 6e 73 70 5f 58 73 5f 67 61 75 73 73 69 61 6e 5f 6e 65 77 20 3d 20 6f 74 5f 6d 61 70 | ntransp_Xs_gaussian_new.=.ot_map |
f680 | 70 69 6e 67 5f 67 61 75 73 73 69 61 6e 2e 74 72 61 6e 73 66 6f 72 6d 28 58 73 3d 58 73 5f 6e 65 | ping_gaussian.transform(Xs=Xs_ne |
f6a0 | 77 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b | w)".......],........"outputs":.[ |
f6c0 | 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 | ],........"metadata":.{......... |
f6e0 | 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d | "collapsed":.false.......}.....} |
f700 | 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 | ,......{......."source":.[...... |
f720 | 20 20 20 22 70 6c 6f 74 20 64 61 74 61 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ..."plot.data\n################# |
f740 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
f760 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c 6e | ############################\n\n |
f780 | 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 | ".......],........"cell_type":." |
f7a0 | 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d | markdown",........"metadata":.{} |
f7c0 | 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f | .....},......{......."execution_ |
f7e0 | 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 | count":.null,........"cell_type" |
f800 | 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | :."code",........"source":.[.... |
f820 | 20 20 20 20 20 22 70 6c 2e 66 69 67 75 72 65 28 31 2c 20 28 31 30 2c 20 35 29 29 5c 6e 70 6c 2e | ....."pl.figure(1,.(10,.5))\npl. |
f840 | 63 6c 66 28 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 73 5b 3a 2c 20 30 5d 2c 20 58 73 5b 3a | clf()\npl.scatter(Xs[:,.0],.Xs[: |
f860 | 2c 20 31 5d 2c 20 63 3d 79 73 2c 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 53 | ,.1],.c=ys,.marker='+',.label='S |
f880 | 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 74 5b 3a | ource.samples')\npl.scatter(Xt[: |
f8a0 | 2c 20 30 5d 2c 20 58 74 5b 3a 2c 20 31 5d 2c 20 63 3d 79 74 2c 20 6d 61 72 6b 65 72 3d 27 6f 27 | ,.0],.Xt[:,.1],.c=yt,.marker='o' |
f8c0 | 2c 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 | ,.label='Target.samples')\npl.le |
f8e0 | 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 53 6f 75 72 63 65 20 61 6e | gend(loc=0)\npl.title('Source.an |
f900 | 64 20 74 61 72 67 65 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 27 29 22 0a 20 20 20 20 20 20 | d.target.distributions')"....... |
f920 | 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 | ],........"outputs":.[],........ |
f940 | 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 | "metadata":.{........."collapsed |
f960 | 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 | ":.false.......}.....},......{.. |
f980 | 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 70 6c 6f 74 20 74 | ....."source":.[........."plot.t |
f9a0 | 72 61 6e 73 70 6f 72 74 65 64 20 73 61 6d 70 6c 65 73 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 | ransported.samples\n############ |
f9c0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
f9e0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
fa00 | 23 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 | #\n\n".......],........"cell_typ |
fa20 | 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 | e":."markdown",........"metadata |
fa40 | 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 | ":.{}.....},......{......."execu |
fa60 | 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f | tion_count":.null,........"cell_ |
fa80 | 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 | type":."code",........"source":. |
faa0 | 5b 0a 20 20 20 20 20 20 20 20 22 70 6c 2e 66 69 67 75 72 65 28 32 29 5c 6e 70 6c 2e 63 6c 66 28 | [........."pl.figure(2)\npl.clf( |
fac0 | 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 32 2c 20 31 29 5c 6e 70 6c 2e 73 63 61 74 74 | )\npl.subplot(2,.2,.1)\npl.scatt |
fae0 | 65 72 28 58 74 5b 3a 2c 20 30 5d 2c 20 58 74 5b 3a 2c 20 31 5d 2c 20 63 3d 79 74 2c 20 6d 61 72 | er(Xt[:,.0],.Xt[:,.1],.c=yt,.mar |
fb00 | 6b 65 72 3d 27 6f 27 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 6c 61 62 65 6c 3d 27 54 61 72 67 | ker='o',\n...........label='Targ |
fb20 | 65 74 20 73 61 6d 70 6c 65 73 27 2c 20 61 6c 70 68 61 3d 2e 32 29 5c 6e 70 6c 2e 73 63 61 74 74 | et.samples',.alpha=.2)\npl.scatt |
fb40 | 65 72 28 74 72 61 6e 73 70 5f 58 73 5f 6c 69 6e 65 61 72 5b 3a 2c 20 30 5d 2c 20 74 72 61 6e 73 | er(transp_Xs_linear[:,.0],.trans |
fb60 | 70 5f 58 73 5f 6c 69 6e 65 61 72 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c 20 6d 61 72 6b 65 72 3d | p_Xs_linear[:,.1],.c=ys,.marker= |
fb80 | 27 2b 27 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 6c 61 62 65 6c 3d 27 4d 61 70 70 65 64 20 73 | '+',\n...........label='Mapped.s |
fba0 | 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 5c 22 42 61 72 79 | ource.samples')\npl.title(\"Bary |
fbc0 | 2e 20 6d 61 70 70 69 6e 67 20 28 6c 69 6e 65 61 72 29 5c 22 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 | ..mapping.(linear)\")\npl.legend |
fbe0 | 28 6c 6f 63 3d 30 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 32 2c 20 32 29 5c 6e | (loc=0)\n\npl.subplot(2,.2,.2)\n |
fc00 | 70 6c 2e 73 63 61 74 74 65 72 28 58 74 5b 3a 2c 20 30 5d 2c 20 58 74 5b 3a 2c 20 31 5d 2c 20 63 | pl.scatter(Xt[:,.0],.Xt[:,.1],.c |
fc20 | 3d 79 74 2c 20 6d 61 72 6b 65 72 3d 27 6f 27 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 6c 61 62 | =yt,.marker='o',\n...........lab |
fc40 | 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 20 61 6c 70 68 61 3d 2e 32 29 5c 6e | el='Target.samples',.alpha=.2)\n |
fc60 | 70 6c 2e 73 63 61 74 74 65 72 28 74 72 61 6e 73 70 5f 58 73 5f 6c 69 6e 65 61 72 5f 6e 65 77 5b | pl.scatter(transp_Xs_linear_new[ |
fc80 | 3a 2c 20 30 5d 2c 20 74 72 61 6e 73 70 5f 58 73 5f 6c 69 6e 65 61 72 5f 6e 65 77 5b 3a 2c 20 31 | :,.0],.transp_Xs_linear_new[:,.1 |
fca0 | 5d 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 63 3d 79 73 2c 20 6d 61 72 6b 65 72 3d 27 2b 27 2c | ],\n...........c=ys,.marker='+', |
fcc0 | 20 6c 61 62 65 6c 3d 27 4c 65 61 72 6e 65 64 20 6d 61 70 70 69 6e 67 27 29 5c 6e 70 6c 2e 74 69 | .label='Learned.mapping')\npl.ti |
fce0 | 74 6c 65 28 5c 22 45 73 74 69 6d 2e 20 6d 61 70 70 69 6e 67 20 28 6c 69 6e 65 61 72 29 5c 22 29 | tle(\"Estim..mapping.(linear)\") |
fd00 | 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 32 2c 20 33 29 5c 6e 70 6c 2e 73 63 61 74 | \n\npl.subplot(2,.2,.3)\npl.scat |
fd20 | 74 65 72 28 58 74 5b 3a 2c 20 30 5d 2c 20 58 74 5b 3a 2c 20 31 5d 2c 20 63 3d 79 74 2c 20 6d 61 | ter(Xt[:,.0],.Xt[:,.1],.c=yt,.ma |
fd40 | 72 6b 65 72 3d 27 6f 27 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 6c 61 62 65 6c 3d 27 54 61 72 | rker='o',\n...........label='Tar |
fd60 | 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 20 61 6c 70 68 61 3d 2e 32 29 5c 6e 70 6c 2e 73 63 61 74 | get.samples',.alpha=.2)\npl.scat |
fd80 | 74 65 72 28 74 72 61 6e 73 70 5f 58 73 5f 67 61 75 73 73 69 61 6e 5b 3a 2c 20 30 5d 2c 20 74 72 | ter(transp_Xs_gaussian[:,.0],.tr |
fda0 | 61 6e 73 70 5f 58 73 5f 67 61 75 73 73 69 61 6e 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c 5c 6e 20 | ansp_Xs_gaussian[:,.1],.c=ys,\n. |
fdc0 | 20 20 20 20 20 20 20 20 20 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 62 61 72 | ..........marker='+',.label='bar |
fde0 | 79 63 65 6e 74 72 69 63 20 6d 61 70 70 69 6e 67 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 5c 22 42 | ycentric.mapping')\npl.title(\"B |
fe00 | 61 72 79 2e 20 6d 61 70 70 69 6e 67 20 28 6b 65 72 6e 65 6c 29 5c 22 29 5c 6e 5c 6e 70 6c 2e 73 | ary..mapping.(kernel)\")\n\npl.s |
fe20 | 75 62 70 6c 6f 74 28 32 2c 20 32 2c 20 34 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 74 5b 3a | ubplot(2,.2,.4)\npl.scatter(Xt[: |
fe40 | 2c 20 30 5d 2c 20 58 74 5b 3a 2c 20 31 5d 2c 20 63 3d 79 74 2c 20 6d 61 72 6b 65 72 3d 27 6f 27 | ,.0],.Xt[:,.1],.c=yt,.marker='o' |
fe60 | 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 | ,\n...........label='Target.samp |
fe80 | 6c 65 73 27 2c 20 61 6c 70 68 61 3d 2e 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 74 72 61 6e | les',.alpha=.2)\npl.scatter(tran |
fea0 | 73 70 5f 58 73 5f 67 61 75 73 73 69 61 6e 5f 6e 65 77 5b 3a 2c 20 30 5d 2c 20 74 72 61 6e 73 70 | sp_Xs_gaussian_new[:,.0],.transp |
fec0 | 5f 58 73 5f 67 61 75 73 73 69 61 6e 5f 6e 65 77 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c 5c 6e 20 | _Xs_gaussian_new[:,.1],.c=ys,\n. |
fee0 | 20 20 20 20 20 20 20 20 20 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 4c 65 61 | ..........marker='+',.label='Lea |
ff00 | 72 6e 65 64 20 6d 61 70 70 69 6e 67 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 5c 22 45 73 74 69 6d | rned.mapping')\npl.title(\"Estim |
ff20 | 2e 20 6d 61 70 70 69 6e 67 20 28 6b 65 72 6e 65 6c 29 5c 22 29 5c 6e 70 6c 2e 74 69 67 68 74 5f | ..mapping.(kernel)\")\npl.tight_ |
ff40 | 6c 61 79 6f 75 74 28 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 2c 20 | layout()\n\npl.show()".......],. |
ff60 | 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 | ......."outputs":.[],........"me |
ff80 | 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 | tadata":.{........."collapsed":. |
ffa0 | 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 | false.......}.....}...],...."met |
ffc0 | 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 | adata":.{....."kernelspec":.{... |
ffe0 | 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 | ...."display_name":."Python.2",. |
10000 | 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 | ......."name":."python2",....... |
10020 | 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 | ."language":."python".....},.... |
10040 | 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 | .."language_info":.{......."mime |
10060 | 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 | type":."text/x-python",........" |
10080 | 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a | nbconvert_exporter":."python",.. |
100a0 | 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 | ......"name":."python",........" |
100c0 | 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 | file_extension":.".py",........" |
100e0 | 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d | version":."2.7.12",........"pygm |
10100 | 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 | ents_lexer":."ipython2",........ |
10120 | 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 | "codemirror_mode":.{........."ve |
10140 | 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 | rsion":.2,.........."name":."ipy |
10160 | 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 | thon".......}.....}...}.}PK..... |
10180 | 00 00 00 02 84 1e 4b ee 1f 11 06 c2 0a 00 00 c2 0a 00 00 24 00 00 00 61 75 74 6f 5f 65 78 61 6d | ......K............$...auto_exam |
101a0 | 70 6c 65 73 2f 70 6c 6f 74 5f 63 6f 6d 70 75 74 65 5f 65 6d 64 2e 69 70 79 6e 62 7b 0a 20 20 22 | ples/plot_compute_emd.ipynb{..." |
101c0 | 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 6e 62 66 6f 72 6d 61 74 | nbformat_minor":.0,...."nbformat |
101e0 | 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 | ":.4,...."cells":.[.....{....... |
10200 | 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 | "execution_count":.null,........ |
10220 | 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 | "cell_type":."code",........"sou |
10240 | 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 74 70 6c 6f 74 6c 69 62 20 69 6e 6c | rce":.[........."%matplotlib.inl |
10260 | 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 | ine".......],........"outputs":. |
10280 | 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 | [],........"metadata":.{........ |
102a0 | 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 | ."collapsed":.false.......}..... |
102c0 | 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 | },......{......."source":.[..... |
102e0 | 20 20 20 20 22 5c 6e 23 20 31 44 20 6f 70 74 69 6d 61 6c 20 74 72 61 6e 73 70 6f 72 74 5c 6e 5c | ...."\n#.1D.optimal.transport\n\ |
10300 | 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 | n\n\n".......],........"cell_typ |
10320 | 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 | e":."markdown",........"metadata |
10340 | 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 | ":.{}.....},......{......."execu |
10360 | 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f | tion_count":.null,........"cell_ |
10380 | 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 | type":."code",........"source":. |
103a0 | 5b 0a 20 20 20 20 20 20 20 20 22 23 20 41 75 74 68 6f 72 3a 20 52 65 6d 69 20 46 6c 61 6d 61 72 | [........."#.Author:.Remi.Flamar |
103c0 | 79 20 3c 72 65 6d 69 2e 66 6c 61 6d 61 72 79 40 75 6e 69 63 65 2e 66 72 3e 5c 6e 23 5c 6e 23 20 | y.<remi.flamary@unice.fr>\n#\n#. |
103e0 | 4c 69 63 65 6e 73 65 3a 20 4d 49 54 20 4c 69 63 65 6e 73 65 5c 6e 5c 6e 69 6d 70 6f 72 74 20 6e | License:.MIT.License\n\nimport.n |
10400 | 75 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 70 79 | umpy.as.np\nimport.matplotlib.py |
10420 | 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 66 72 6f 6d 20 6f 74 2e 64 61 | lab.as.pl\nimport.ot\nfrom.ot.da |
10440 | 74 61 73 65 74 73 20 69 6d 70 6f 72 74 20 67 65 74 5f 31 44 5f 67 61 75 73 73 20 61 73 20 67 61 | tasets.import.get_1D_gauss.as.ga |
10460 | 75 73 73 5c 6e 5c 6e 5c 6e 23 25 25 20 70 61 72 61 6d 65 74 65 72 73 5c 6e 5c 6e 6e 20 3d 20 31 | uss\n\n\n#%%.parameters\n\nn.=.1 |
10480 | 30 30 20 20 23 20 6e 62 20 62 69 6e 73 5c 6e 6e 5f 74 61 72 67 65 74 20 3d 20 35 30 20 20 23 20 | 00..#.nb.bins\nn_target.=.50..#. |
104a0 | 6e 62 20 74 61 72 67 65 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e 5c 6e 23 20 62 | nb.target.distributions\n\n\n#.b |
104c0 | 69 6e 20 70 6f 73 69 74 69 6f 6e 73 5c 6e 78 20 3d 20 6e 70 2e 61 72 61 6e 67 65 28 6e 2c 20 64 | in.positions\nx.=.np.arange(n,.d |
104e0 | 74 79 70 65 3d 6e 70 2e 66 6c 6f 61 74 36 34 29 5c 6e 5c 6e 6c 73 74 5f 6d 20 3d 20 6e 70 2e 6c | type=np.float64)\n\nlst_m.=.np.l |
10500 | 69 6e 73 70 61 63 65 28 32 30 2c 20 39 30 2c 20 6e 5f 74 61 72 67 65 74 29 5c 6e 5c 6e 23 20 47 | inspace(20,.90,.n_target)\n\n#.G |
10520 | 61 75 73 73 69 61 6e 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 61 20 3d 20 67 61 75 73 73 | aussian.distributions\na.=.gauss |
10540 | 28 6e 2c 20 6d 3d 32 30 2c 20 73 3d 35 29 20 20 23 20 6d 3d 20 6d 65 61 6e 2c 20 73 3d 20 73 74 | (n,.m=20,.s=5)..#.m=.mean,.s=.st |
10560 | 64 5c 6e 5c 6e 42 20 3d 20 6e 70 2e 7a 65 72 6f 73 28 28 6e 2c 20 6e 5f 74 61 72 67 65 74 29 29 | d\n\nB.=.np.zeros((n,.n_target)) |
10580 | 5c 6e 5c 6e 66 6f 72 20 69 2c 20 6d 20 69 6e 20 65 6e 75 6d 65 72 61 74 65 28 6c 73 74 5f 6d 29 | \n\nfor.i,.m.in.enumerate(lst_m) |
105a0 | 3a 5c 6e 20 20 20 20 42 5b 3a 2c 20 69 5d 20 3d 20 67 61 75 73 73 28 6e 2c 20 6d 3d 6d 2c 20 73 | :\n....B[:,.i].=.gauss(n,.m=m,.s |
105c0 | 3d 35 29 5c 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 20 61 6e 64 20 6e 6f 72 6d 61 6c 69 | =5)\n\n#.loss.matrix.and.normali |
105e0 | 7a 61 74 69 6f 6e 5c 6e 4d 20 3d 20 6f 74 2e 64 69 73 74 28 78 2e 72 65 73 68 61 70 65 28 28 6e | zation\nM.=.ot.dist(x.reshape((n |
10600 | 2c 20 31 29 29 2c 20 78 2e 72 65 73 68 61 70 65 28 28 6e 2c 20 31 29 29 2c 20 27 65 75 63 6c 69 | ,.1)),.x.reshape((n,.1)),.'eucli |
10620 | 64 65 61 6e 27 29 5c 6e 4d 20 2f 3d 20 4d 2e 6d 61 78 28 29 5c 6e 4d 32 20 3d 20 6f 74 2e 64 69 | dean')\nM./=.M.max()\nM2.=.ot.di |
10640 | 73 74 28 78 2e 72 65 73 68 61 70 65 28 28 6e 2c 20 31 29 29 2c 20 78 2e 72 65 73 68 61 70 65 28 | st(x.reshape((n,.1)),.x.reshape( |
10660 | 28 6e 2c 20 31 29 29 2c 20 27 73 71 65 75 63 6c 69 64 65 61 6e 27 29 5c 6e 4d 32 20 2f 3d 20 4d | (n,.1)),.'sqeuclidean')\nM2./=.M |
10680 | 32 2e 6d 61 78 28 29 5c 6e 23 25 25 20 70 6c 6f 74 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 | 2.max()\n#%%.plot.the.distributi |
106a0 | 6f 6e 73 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 31 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 | ons\n\npl.figure(1)\npl.subplot( |
106c0 | 32 2c 20 31 2c 20 31 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 20 61 2c 20 27 62 27 2c 20 6c 61 62 | 2,.1,.1)\npl.plot(x,.a,.'b',.lab |
106e0 | 65 6c 3d 27 53 6f 75 72 63 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 27 29 5c 6e 70 6c 2e 74 69 | el='Source.distribution')\npl.ti |
10700 | 74 6c 65 28 27 53 6f 75 72 63 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 27 29 5c 6e 70 6c 2e 73 | tle('Source.distribution')\npl.s |
10720 | 75 62 70 6c 6f 74 28 32 2c 20 31 2c 20 32 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 20 42 2c 20 6c | ubplot(2,.1,.2)\npl.plot(x,.B,.l |
10740 | 61 62 65 6c 3d 27 54 61 72 67 65 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 70 6c | abel='Target.distributions')\npl |
10760 | 2e 74 69 74 6c 65 28 27 54 61 72 67 65 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e | .title('Target.distributions')\n |
10780 | 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 5c 6e 5c 6e 23 25 25 20 43 6f 6d 70 75 74 65 | pl.tight_layout()\n\n#%%.Compute |
107a0 | 20 61 6e 64 20 70 6c 6f 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 20 61 6e 64 20 6c 6f 73 73 | .and.plot.distributions.and.loss |
107c0 | 20 6d 61 74 72 69 78 5c 6e 5c 6e 64 5f 65 6d 64 20 3d 20 6f 74 2e 65 6d 64 32 28 61 2c 20 42 2c | .matrix\n\nd_emd.=.ot.emd2(a,.B, |
107e0 | 20 4d 29 20 20 23 20 64 69 72 65 63 74 20 63 6f 6d 70 75 74 61 74 69 6f 6e 20 6f 66 20 45 4d 44 | .M)..#.direct.computation.of.EMD |
10800 | 5c 6e 64 5f 65 6d 64 32 20 3d 20 6f 74 2e 65 6d 64 32 28 61 2c 20 42 2c 20 4d 32 29 20 20 23 20 | \nd_emd2.=.ot.emd2(a,.B,.M2)..#. |
10820 | 64 69 72 65 63 74 20 63 6f 6d 70 75 74 61 74 69 6f 6e 20 6f 66 20 45 4d 44 20 77 69 74 68 20 6c | direct.computation.of.EMD.with.l |
10840 | 6f 73 73 20 4d 33 5c 6e 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 29 5c 6e 70 6c 2e 70 6c 6f | oss.M3\n\n\npl.figure(2)\npl.plo |
10860 | 74 28 64 5f 65 6d 64 2c 20 6c 61 62 65 6c 3d 27 45 75 63 6c 69 64 65 61 6e 20 45 4d 44 27 29 5c | t(d_emd,.label='Euclidean.EMD')\ |
10880 | 6e 70 6c 2e 70 6c 6f 74 28 64 5f 65 6d 64 32 2c 20 6c 61 62 65 6c 3d 27 53 71 75 61 72 65 64 20 | npl.plot(d_emd2,.label='Squared. |
108a0 | 45 75 63 6c 69 64 65 61 6e 20 45 4d 44 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 45 4d 44 20 64 | Euclidean.EMD')\npl.title('EMD.d |
108c0 | 69 73 74 61 6e 63 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 29 5c 6e 5c 6e 23 25 25 5c 6e | istances')\npl.legend()\n\n#%%\n |
108e0 | 72 65 67 20 3d 20 31 65 2d 32 5c 6e 64 5f 73 69 6e 6b 68 6f 72 6e 20 3d 20 6f 74 2e 73 69 6e 6b | reg.=.1e-2\nd_sinkhorn.=.ot.sink |
10900 | 68 6f 72 6e 32 28 61 2c 20 42 2c 20 4d 2c 20 72 65 67 29 5c 6e 64 5f 73 69 6e 6b 68 6f 72 6e 32 | horn2(a,.B,.M,.reg)\nd_sinkhorn2 |
10920 | 20 3d 20 6f 74 2e 73 69 6e 6b 68 6f 72 6e 32 28 61 2c 20 42 2c 20 4d 32 2c 20 72 65 67 29 5c 6e | .=.ot.sinkhorn2(a,.B,.M2,.reg)\n |
10940 | 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 29 5c 6e 70 6c 2e 63 6c 66 28 29 5c 6e 70 6c 2e 70 6c 6f | \npl.figure(2)\npl.clf()\npl.plo |
10960 | 74 28 64 5f 65 6d 64 2c 20 6c 61 62 65 6c 3d 27 45 75 63 6c 69 64 65 61 6e 20 45 4d 44 27 29 5c | t(d_emd,.label='Euclidean.EMD')\ |
10980 | 6e 70 6c 2e 70 6c 6f 74 28 64 5f 65 6d 64 32 2c 20 6c 61 62 65 6c 3d 27 53 71 75 61 72 65 64 20 | npl.plot(d_emd2,.label='Squared. |
109a0 | 45 75 63 6c 69 64 65 61 6e 20 45 4d 44 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 64 5f 73 69 6e 6b 68 | Euclidean.EMD')\npl.plot(d_sinkh |
109c0 | 6f 72 6e 2c 20 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 45 75 63 6c 69 64 65 61 6e 20 53 69 6e 6b 68 | orn,.'+',.label='Euclidean.Sinkh |
109e0 | 6f 72 6e 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 64 5f 73 69 6e 6b 68 6f 72 6e 32 2c 20 27 2b 27 2c | orn')\npl.plot(d_sinkhorn2,.'+', |
10a00 | 20 6c 61 62 65 6c 3d 27 53 71 75 61 72 65 64 20 45 75 63 6c 69 64 65 61 6e 20 53 69 6e 6b 68 6f | .label='Squared.Euclidean.Sinkho |
10a20 | 72 6e 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 45 4d 44 20 64 69 73 74 61 6e 63 65 73 27 29 5c | rn')\npl.title('EMD.distances')\ |
10a40 | 6e 70 6c 2e 6c 65 67 65 6e 64 28 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 | npl.legend()\n\npl.show()"...... |
10a60 | 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 | .],........"outputs":.[],....... |
10a80 | 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 | ."metadata":.{........."collapse |
10aa0 | 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 | d":.false.......}.....}...],.... |
10ac0 | 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c 73 70 65 63 22 3a 20 | "metadata":.{....."kernelspec":. |
10ae0 | 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 | {......."display_name":."Python. |
10b00 | 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 32 22 2c 20 0a 20 | 2",........"name":."python2",... |
10b20 | 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 0a 20 20 20 20 7d 2c | ....."language":."python".....}, |
10b40 | 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 | ......"language_info":.{......." |
10b60 | 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 | mimetype":."text/x-python",..... |
10b80 | 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 22 70 79 74 68 6f 6e | ..."nbconvert_exporter":."python |
10ba0 | 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 | ",........"name":."python",..... |
10bc0 | 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 20 0a 20 20 20 | ..."file_extension":.".py",..... |
10be0 | 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a 20 20 20 20 20 20 22 | ..."version":."2.7.12",........" |
10c00 | 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 | pygments_lexer":."ipython2",.... |
10c20 | 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 | ...."codemirror_mode":.{........ |
10c40 | 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 | ."version":.2,.........."name":. |
10c60 | 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 | "ipython".......}.....}...}.}PK. |
10c80 | 04 14 00 00 00 00 00 6a 7b 82 49 cd 14 1c 01 46 09 00 00 46 09 00 00 23 00 00 00 61 75 74 6f 5f | .......j{.I....F...F...#...auto_ |
10ca0 | 65 78 61 6d 70 6c 65 73 2f 64 65 6d 6f 5f 4f 54 5f 31 44 5f 74 65 73 74 2e 69 70 79 6e 62 7b 0a | examples/demo_OT_1D_test.ipynb{. |
10cc0 | 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 6e 62 66 6f 72 | .."nbformat_minor":.0,...."nbfor |
10ce0 | 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 | mat":.4,...."cells":.[.....{.... |
10d00 | 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 | ..."execution_count":.null,..... |
10d20 | 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 | ..."cell_type":."code",........" |
10d40 | 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 74 70 6c 6f 74 6c 69 62 20 | source":.[........."%matplotlib. |
10d60 | 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 | inline".......],........"outputs |
10d80 | 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 | ":.[],........"metadata":.{..... |
10da0 | 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 | ...."collapsed":.false.......}.. |
10dc0 | 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 | ...},......{......."source":.[.. |
10de0 | 20 20 20 20 20 20 20 22 5c 6e 44 65 6d 6f 20 66 6f 72 20 31 44 20 6f 70 74 69 6d 61 6c 20 74 72 | ......."\nDemo.for.1D.optimal.tr |
10e00 | 61 6e 73 70 6f 72 74 5c 6e 5c 6e 40 61 75 74 68 6f 72 3a 20 72 66 6c 61 6d 61 72 79 5c 6e 5c 6e | ansport\n\n@author:.rflamary\n\n |
10e20 | 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 | ".......],........"cell_type":." |
10e40 | 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d | markdown",........"metadata":.{} |
10e60 | 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f | .....},......{......."execution_ |
10e80 | 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 | count":.null,........"cell_type" |
10ea0 | 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | :."code",........"source":.[.... |
10ec0 | 20 20 20 20 20 22 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 | ....."import.numpy.as.np\nimport |
10ee0 | 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 | .matplotlib.pylab.as.pl\nimport. |
10f00 | 6f 74 5c 6e 66 72 6f 6d 20 6f 74 2e 64 61 74 61 73 65 74 73 20 69 6d 70 6f 72 74 20 67 65 74 5f | ot\nfrom.ot.datasets.import.get_ |
10f20 | 31 44 5f 67 61 75 73 73 20 61 73 20 67 61 75 73 73 5c 6e 5c 6e 5c 6e 23 25 25 20 70 61 72 61 6d | 1D_gauss.as.gauss\n\n\n#%%.param |
10f40 | 65 74 65 72 73 5c 6e 5c 6e 6e 3d 31 30 30 20 23 20 6e 62 20 62 69 6e 73 5c 6e 5c 6e 23 20 62 69 | eters\n\nn=100.#.nb.bins\n\n#.bi |
10f60 | 6e 20 70 6f 73 69 74 69 6f 6e 73 5c 6e 78 3d 6e 70 2e 61 72 61 6e 67 65 28 6e 2c 64 74 79 70 65 | n.positions\nx=np.arange(n,dtype |
10f80 | 3d 6e 70 2e 66 6c 6f 61 74 36 34 29 5c 6e 5c 6e 23 20 47 61 75 73 73 69 61 6e 20 64 69 73 74 72 | =np.float64)\n\n#.Gaussian.distr |
10fa0 | 69 62 75 74 69 6f 6e 73 5c 6e 61 3d 67 61 75 73 73 28 6e 2c 6d 3d 6e 2a 2e 32 2c 73 3d 35 29 20 | ibutions\na=gauss(n,m=n*.2,s=5). |
10fc0 | 23 20 6d 3d 20 6d 65 61 6e 2c 20 73 3d 20 73 74 64 5c 6e 62 3d 67 61 75 73 73 28 6e 2c 6d 3d 6e | #.m=.mean,.s=.std\nb=gauss(n,m=n |
10fe0 | 2a 2e 36 2c 73 3d 31 30 29 5c 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 4d 3d 6f 74 | *.6,s=10)\n\n#.loss.matrix\nM=ot |
11000 | 2e 64 69 73 74 28 78 2e 72 65 73 68 61 70 65 28 28 6e 2c 31 29 29 2c 78 2e 72 65 73 68 61 70 65 | .dist(x.reshape((n,1)),x.reshape |
11020 | 28 28 6e 2c 31 29 29 29 5c 6e 4d 2f 3d 4d 2e 6d 61 78 28 29 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 | ((n,1)))\nM/=M.max()\n\n#%%.plot |
11040 | 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 | .the.distributions\n\npl.figure( |
11060 | 31 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 61 2c 27 62 27 2c 6c 61 62 65 6c 3d 27 53 6f 75 72 63 | 1)\npl.plot(x,a,'b',label='Sourc |
11080 | 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 62 2c 27 72 | e.distribution')\npl.plot(x,b,'r |
110a0 | 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 27 29 5c 6e | ',label='Target.distribution')\n |
110c0 | 70 6c 2e 6c 65 67 65 6e 64 28 29 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 64 69 73 74 72 69 62 75 | pl.legend()\n\n#%%.plot.distribu |
110e0 | 74 69 6f 6e 73 20 61 6e 64 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 5c 6e 70 6c 2e 66 69 67 75 | tions.and.loss.matrix\n\npl.figu |
11100 | 72 65 28 32 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 62 2c 4d 2c | re(2)\not.plot.plot1D_mat(a,b,M, |
11120 | 27 43 6f 73 74 20 6d 61 74 72 69 78 20 4d 27 29 5c 6e 5c 6e 23 25 25 20 45 4d 44 5c 6e 5c 6e 47 | 'Cost.matrix.M')\n\n#%%.EMD\n\nG |
11140 | 30 3d 6f 74 2e 65 6d 64 28 61 2c 62 2c 4d 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 33 29 5c | 0=ot.emd(a,b,M)\n\npl.figure(3)\ |
11160 | 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 62 2c 47 30 2c 27 4f 54 20 6d | not.plot.plot1D_mat(a,b,G0,'OT.m |
11180 | 61 74 72 69 78 20 47 30 27 29 5c 6e 5c 6e 23 25 25 20 53 69 6e 6b 68 6f 72 6e 5c 6e 5c 6e 6c 61 | atrix.G0')\n\n#%%.Sinkhorn\n\nla |
111a0 | 6d 62 64 3d 31 65 2d 33 5c 6e 47 73 3d 6f 74 2e 73 69 6e 6b 68 6f 72 6e 28 61 2c 62 2c 4d 2c 6c | mbd=1e-3\nGs=ot.sinkhorn(a,b,M,l |
111c0 | 61 6d 62 64 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 | ambd,verbose=True)\n\npl.figure( |
111e0 | 34 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 62 2c 47 73 2c 27 4f | 4)\not.plot.plot1D_mat(a,b,Gs,'O |
11200 | 54 20 6d 61 74 72 69 78 20 53 69 6e 6b 68 6f 72 6e 27 29 5c 6e 5c 6e 23 25 25 20 53 69 6e 6b 68 | T.matrix.Sinkhorn')\n\n#%%.Sinkh |
11220 | 6f 72 6e 5c 6e 5c 6e 6c 61 6d 62 64 3d 31 65 2d 34 5c 6e 47 73 73 2c 6c 6f 67 3d 6f 74 2e 62 72 | orn\n\nlambd=1e-4\nGss,log=ot.br |
11240 | 65 67 6d 61 6e 2e 73 69 6e 6b 68 6f 72 6e 5f 73 74 61 62 69 6c 69 7a 65 64 28 61 2c 62 2c 4d 2c | egman.sinkhorn_stabilized(a,b,M, |
11260 | 6c 61 6d 62 64 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 2c 6c 6f 67 3d 54 72 75 65 29 5c 6e 47 73 | lambd,verbose=True,log=True)\nGs |
11280 | 73 32 2c 6c 6f 67 32 3d 6f 74 2e 62 72 65 67 6d 61 6e 2e 73 69 6e 6b 68 6f 72 6e 5f 73 74 61 62 | s2,log2=ot.bregman.sinkhorn_stab |
112a0 | 69 6c 69 7a 65 64 28 61 2c 62 2c 4d 2c 6c 61 6d 62 64 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 2c | ilized(a,b,M,lambd,verbose=True, |
112c0 | 6c 6f 67 3d 54 72 75 65 2c 77 61 72 6d 73 74 61 72 74 3d 6c 6f 67 5b 27 77 61 72 6d 73 74 61 72 | log=True,warmstart=log['warmstar |
112e0 | 74 27 5d 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 35 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c | t'])\n\npl.figure(5)\not.plot.pl |
11300 | 6f 74 31 44 5f 6d 61 74 28 61 2c 62 2c 47 73 73 2c 27 4f 54 20 6d 61 74 72 69 78 20 53 69 6e 6b | ot1D_mat(a,b,Gss,'OT.matrix.Sink |
11320 | 68 6f 72 6e 20 73 74 61 62 69 6c 69 7a 65 64 27 29 5c 6e 5c 6e 23 25 25 20 53 69 6e 6b 68 6f 72 | horn.stabilized')\n\n#%%.Sinkhor |
11340 | 6e 5c 6e 5c 6e 6c 61 6d 62 64 3d 31 65 2d 31 31 5c 6e 47 73 73 3d 6f 74 2e 62 72 65 67 6d 61 6e | n\n\nlambd=1e-11\nGss=ot.bregman |
11360 | 2e 73 69 6e 6b 68 6f 72 6e 5f 65 70 73 69 6c 6f 6e 5f 73 63 61 6c 69 6e 67 28 61 2c 62 2c 4d 2c | .sinkhorn_epsilon_scaling(a,b,M, |
11380 | 6c 61 6d 62 64 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 | lambd,verbose=True)\n\npl.figure |
113a0 | 28 35 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 62 2c 47 73 73 2c | (5)\not.plot.plot1D_mat(a,b,Gss, |
113c0 | 27 4f 54 20 6d 61 74 72 69 78 20 53 69 6e 6b 68 6f 72 6e 20 73 74 61 62 69 6c 69 7a 65 64 27 29 | 'OT.matrix.Sinkhorn.stabilized') |
113e0 | 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c | ".......],........"outputs":.[], |
11400 | 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 | ........"metadata":.{........."c |
11420 | 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 | ollapsed":.false.......}.....}.. |
11440 | 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c | .],...."metadata":.{....."kernel |
11460 | 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 | spec":.{......."display_name":." |
11480 | 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f | Python.2",........"name":."pytho |
114a0 | 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 | n2",........"language":."python" |
114c0 | 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a | .....},......"language_info":.{. |
114e0 | 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e | ......"mimetype":."text/x-python |
11500 | 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 | ",........"nbconvert_exporter":. |
11520 | 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e | "python",........"name":."python |
11540 | 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 | ",........"file_extension":.".py |
11560 | 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a | ",........"version":."2.7.12",.. |
11580 | 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e | ......"pygments_lexer":."ipython |
115a0 | 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a | 2",........"codemirror_mode":.{. |
115c0 | 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 | ........"version":.2,.........." |
115e0 | 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 | name":."ipython".......}.....}.. |
11600 | 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 86 7b 82 49 4f 22 f2 c8 74 0e 00 00 74 0e 00 00 2a 00 | .}.}PK.........{.IO"..t...t...*. |
11620 | 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 44 41 5f 63 6f 6c 6f 72 5f | ..auto_examples/plot_OTDA_color_ |
11640 | 69 6d 61 67 65 73 2e 69 70 79 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 | images.ipynb{..."nbformat_minor" |
11660 | 3a 20 30 2c 20 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 | :.0,...."nbformat":.4,...."cells |
11680 | 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e | ":.[.....{......."execution_coun |
116a0 | 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 | t":.null,........"cell_type":."c |
116c0 | 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 | ode",........"source":.[........ |
116e0 | 20 22 25 6d 61 74 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a | ."%matplotlib.inline".......],.. |
11700 | 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 | ......"outputs":.[],........"met |
11720 | 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 | adata":.{........."collapsed":.f |
11740 | 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 | alse.......}.....},......{...... |
11760 | 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d | ."source":.[........."\n======== |
11780 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
117a0 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 4f 54 20 66 6f 72 20 64 6f 6d 61 69 6e 20 | ================\nOT.for.domain. |
117c0 | 61 64 61 70 74 61 74 69 6f 6e 20 77 69 74 68 20 69 6d 61 67 65 20 63 6f 6c 6f 72 20 61 64 61 70 | adaptation.with.image.color.adap |
117e0 | 74 61 74 69 6f 6e 20 5b 36 5d 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | tation.[6]\n==================== |
11800 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
11820 | 3d 3d 3d 3d 5c 6e 5c 6e 5b 36 5d 20 46 65 72 72 61 64 61 6e 73 2c 20 53 2e 2c 20 50 61 70 61 64 | ====\n\n[6].Ferradans,.S.,.Papad |
11840 | 61 6b 69 73 2c 20 4e 2e 2c 20 50 65 79 72 65 2c 20 47 2e 2c 20 26 20 41 75 6a 6f 6c 2c 20 4a 2e | akis,.N.,.Peyre,.G.,.&.Aujol,.J. |
11860 | 20 46 2e 20 28 32 30 31 34 29 2e 20 52 65 67 75 6c 61 72 69 7a 65 64 20 64 69 73 63 72 65 74 65 | .F..(2014)..Regularized.discrete |
11880 | 20 6f 70 74 69 6d 61 6c 20 74 72 61 6e 73 70 6f 72 74 2e 20 53 49 41 4d 20 4a 6f 75 72 6e 61 6c | .optimal.transport..SIAM.Journal |
118a0 | 20 6f 6e 20 49 6d 61 67 69 6e 67 20 53 63 69 65 6e 63 65 73 2c 20 37 28 33 29 2c 20 31 38 35 33 | .on.Imaging.Sciences,.7(3),.1853 |
118c0 | 2d 31 38 38 32 2e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c | -1882.\n\n".......],........"cel |
118e0 | 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 | l_type":."markdown",........"met |
11900 | 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 | adata":.{}.....},......{......." |
11920 | 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 | execution_count":.null,........" |
11940 | 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 | cell_type":."code",........"sour |
11960 | 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 | ce":.[........."import.numpy.as. |
11980 | 6e 70 5c 6e 69 6d 70 6f 72 74 20 73 63 69 70 79 2e 6e 64 69 6d 61 67 65 20 61 73 20 73 70 69 5c | np\nimport.scipy.ndimage.as.spi\ |
119a0 | 6e 69 6d 70 6f 72 74 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e | nimport.matplotlib.pylab.as.pl\n |
119c0 | 69 6d 70 6f 72 74 20 6f 74 5c 6e 5c 6e 5c 6e 23 25 25 20 4c 6f 61 64 69 6e 67 20 69 6d 61 67 65 | import.ot\n\n\n#%%.Loading.image |
119e0 | 73 5c 6e 5c 6e 49 31 3d 73 70 69 2e 69 6d 72 65 61 64 28 27 2e 2e 2f 64 61 74 61 2f 6f 63 65 61 | s\n\nI1=spi.imread('../data/ocea |
11a00 | 6e 5f 64 61 79 2e 6a 70 67 27 29 2e 61 73 74 79 70 65 28 6e 70 2e 66 6c 6f 61 74 36 34 29 2f 32 | n_day.jpg').astype(np.float64)/2 |
11a20 | 35 36 5c 6e 49 32 3d 73 70 69 2e 69 6d 72 65 61 64 28 27 2e 2e 2f 64 61 74 61 2f 6f 63 65 61 6e | 56\nI2=spi.imread('../data/ocean |
11a40 | 5f 73 75 6e 73 65 74 2e 6a 70 67 27 29 2e 61 73 74 79 70 65 28 6e 70 2e 66 6c 6f 61 74 36 34 29 | _sunset.jpg').astype(np.float64) |
11a60 | 2f 32 35 36 5c 6e 5c 6e 23 25 25 20 50 6c 6f 74 20 69 6d 61 67 65 73 5c 6e 5c 6e 70 6c 2e 66 69 | /256\n\n#%%.Plot.images\n\npl.fi |
11a80 | 67 75 72 65 28 31 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 32 2c 31 29 5c 6e 70 6c | gure(1)\n\npl.subplot(1,2,1)\npl |
11aa0 | 2e 69 6d 73 68 6f 77 28 49 31 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 31 27 29 | .imshow(I1)\npl.title('Image.1') |
11ac0 | 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 32 2c 32 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 | \n\npl.subplot(1,2,2)\npl.imshow |
11ae0 | 28 49 32 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 32 27 29 5c 6e 5c 6e 70 6c 2e | (I2)\npl.title('Image.2')\n\npl. |
11b00 | 73 68 6f 77 28 29 5c 6e 5c 6e 23 25 25 20 49 6d 61 67 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 61 | show()\n\n#%%.Image.conversion.a |
11b20 | 6e 64 20 64 61 74 61 73 65 74 20 67 65 6e 65 72 61 74 69 6f 6e 5c 6e 5c 6e 64 65 66 20 69 6d 32 | nd.dataset.generation\n\ndef.im2 |
11b40 | 6d 61 74 28 49 29 3a 5c 6e 20 20 20 20 5c 22 5c 22 5c 22 43 6f 6e 76 65 72 74 73 20 61 6e 64 20 | mat(I):\n....\"\"\"Converts.and. |
11b60 | 69 6d 61 67 65 20 74 6f 20 6d 61 74 72 69 78 20 28 6f 6e 65 20 70 69 78 65 6c 20 70 65 72 20 6c | image.to.matrix.(one.pixel.per.l |
11b80 | 69 6e 65 29 5c 22 5c 22 5c 22 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 49 2e 72 65 73 68 61 70 65 | ine)\"\"\"\n....return.I.reshape |
11ba0 | 28 28 49 2e 73 68 61 70 65 5b 30 5d 2a 49 2e 73 68 61 70 65 5b 31 5d 2c 49 2e 73 68 61 70 65 5b | ((I.shape[0]*I.shape[1],I.shape[ |
11bc0 | 32 5d 29 29 5c 6e 5c 6e 64 65 66 20 6d 61 74 32 69 6d 28 58 2c 73 68 61 70 65 29 3a 5c 6e 20 20 | 2]))\n\ndef.mat2im(X,shape):\n.. |
11be0 | 20 20 5c 22 5c 22 5c 22 43 6f 6e 76 65 72 74 73 20 62 61 63 6b 20 61 20 6d 61 74 72 69 78 20 74 | ..\"\"\"Converts.back.a.matrix.t |
11c00 | 6f 20 61 6e 20 69 6d 61 67 65 5c 22 5c 22 5c 22 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 58 2e 72 | o.an.image\"\"\"\n....return.X.r |
11c20 | 65 73 68 61 70 65 28 73 68 61 70 65 29 5c 6e 5c 6e 58 31 3d 69 6d 32 6d 61 74 28 49 31 29 5c 6e | eshape(shape)\n\nX1=im2mat(I1)\n |
11c40 | 58 32 3d 69 6d 32 6d 61 74 28 49 32 29 5c 6e 5c 6e 23 20 74 72 61 69 6e 69 6e 67 20 73 61 6d 70 | X2=im2mat(I2)\n\n#.training.samp |
11c60 | 6c 65 73 5c 6e 6e 62 3d 31 30 30 30 5c 6e 69 64 78 31 3d 6e 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e | les\nnb=1000\nidx1=np.random.ran |
11c80 | 64 69 6e 74 28 58 31 2e 73 68 61 70 65 5b 30 5d 2c 73 69 7a 65 3d 28 6e 62 2c 29 29 5c 6e 69 64 | dint(X1.shape[0],size=(nb,))\nid |
11ca0 | 78 32 3d 6e 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 69 6e 74 28 58 32 2e 73 68 61 70 65 5b 30 5d | x2=np.random.randint(X2.shape[0] |
11cc0 | 2c 73 69 7a 65 3d 28 6e 62 2c 29 29 5c 6e 5c 6e 78 73 3d 58 31 5b 69 64 78 31 2c 3a 5d 5c 6e 78 | ,size=(nb,))\n\nxs=X1[idx1,:]\nx |
11ce0 | 74 3d 58 32 5b 69 64 78 32 2c 3a 5d 5c 6e 5c 6e 23 25 25 20 50 6c 6f 74 20 69 6d 61 67 65 20 64 | t=X2[idx2,:]\n\n#%%.Plot.image.d |
11d00 | 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 2c 28 31 | istributions\n\n\npl.figure(2,(1 |
11d20 | 30 2c 35 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 32 2c 31 29 5c 6e 70 6c 2e 73 | 0,5))\n\npl.subplot(1,2,1)\npl.s |
11d40 | 63 61 74 74 65 72 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 32 5d 2c 63 3d 78 73 29 5c 6e 70 6c | catter(xs[:,0],xs[:,2],c=xs)\npl |
11d60 | 2e 61 78 69 73 28 5b 30 2c 31 2c 30 2c 31 5d 29 5c 6e 70 6c 2e 78 6c 61 62 65 6c 28 27 52 65 64 | .axis([0,1,0,1])\npl.xlabel('Red |
11d80 | 27 29 5c 6e 70 6c 2e 79 6c 61 62 65 6c 28 27 42 6c 75 65 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 | ')\npl.ylabel('Blue')\npl.title( |
11da0 | 27 49 6d 61 67 65 20 31 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 32 2c 32 29 5c | 'Image.1')\n\npl.subplot(1,2,2)\ |
11dc0 | 6e 23 70 6c 2e 69 6d 73 68 6f 77 28 49 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a | n#pl.imshow(I2)\npl.scatter(xt[: |
11de0 | 2c 30 5d 2c 78 74 5b 3a 2c 32 5d 2c 63 3d 78 74 29 5c 6e 70 6c 2e 61 78 69 73 28 5b 30 2c 31 2c | ,0],xt[:,2],c=xt)\npl.axis([0,1, |
11e00 | 30 2c 31 5d 29 5c 6e 70 6c 2e 78 6c 61 62 65 6c 28 27 52 65 64 27 29 5c 6e 70 6c 2e 79 6c 61 62 | 0,1])\npl.xlabel('Red')\npl.ylab |
11e20 | 65 6c 28 27 42 6c 75 65 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 32 27 29 5c | el('Blue')\npl.title('Image.2')\ |
11e40 | 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 64 6f 6d 61 69 6e 20 61 | n\npl.show()\n\n\n\n#%%.domain.a |
11e60 | 64 61 70 74 61 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 69 6d 61 67 65 73 5c 6e 5c 6e 23 20 4c 50 | daptation.between.images\n\n#.LP |
11e80 | 20 70 72 6f 62 6c 65 6d 5c 6e 64 61 5f 65 6d 64 3d 6f 74 2e 64 61 2e 4f 54 44 41 28 29 20 20 20 | .problem\nda_emd=ot.da.OTDA()... |
11ea0 | 20 20 23 20 69 6e 69 74 20 63 6c 61 73 73 5c 6e 64 61 5f 65 6d 64 2e 66 69 74 28 78 73 2c 78 74 | ..#.init.class\nda_emd.fit(xs,xt |
11ec0 | 29 20 20 20 20 20 20 20 23 20 66 69 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e 5c | ).......#.fit.distributions\n\n\ |
11ee0 | 6e 23 20 73 69 6e 6b 68 6f 72 6e 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 5c 6e 6c 61 6d 62 | n#.sinkhorn.regularization\nlamb |
11f00 | 64 3d 31 65 2d 31 5c 6e 64 61 5f 65 6e 74 72 6f 70 3d 6f 74 2e 64 61 2e 4f 54 44 41 5f 73 69 6e | d=1e-1\nda_entrop=ot.da.OTDA_sin |
11f20 | 6b 68 6f 72 6e 28 29 5c 6e 64 61 5f 65 6e 74 72 6f 70 2e 66 69 74 28 78 73 2c 78 74 2c 72 65 67 | khorn()\nda_entrop.fit(xs,xt,reg |
11f40 | 3d 6c 61 6d 62 64 29 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 70 72 65 64 69 63 74 69 6f 6e 20 62 65 | =lambd)\n\n\n\n#%%.prediction.be |
11f60 | 74 77 65 65 6e 20 69 6d 61 67 65 73 20 28 75 73 69 6e 67 20 6f 75 74 20 6f 66 20 73 61 6d 70 6c | tween.images.(using.out.of.sampl |
11f80 | 65 20 70 72 65 64 69 63 74 69 6f 6e 20 61 73 20 69 6e 20 5b 36 5d 29 5c 6e 5c 6e 58 31 74 3d 64 | e.prediction.as.in.[6])\n\nX1t=d |
11fa0 | 61 5f 65 6d 64 2e 70 72 65 64 69 63 74 28 58 31 29 5c 6e 58 32 74 3d 64 61 5f 65 6d 64 2e 70 72 | a_emd.predict(X1)\nX2t=da_emd.pr |
11fc0 | 65 64 69 63 74 28 58 32 2c 2d 31 29 5c 6e 5c 6e 5c 6e 58 31 74 65 3d 64 61 5f 65 6e 74 72 6f 70 | edict(X2,-1)\n\n\nX1te=da_entrop |
11fe0 | 2e 70 72 65 64 69 63 74 28 58 31 29 5c 6e 58 32 74 65 3d 64 61 5f 65 6e 74 72 6f 70 2e 70 72 65 | .predict(X1)\nX2te=da_entrop.pre |
12000 | 64 69 63 74 28 58 32 2c 2d 31 29 5c 6e 5c 6e 5c 6e 64 65 66 20 6d 69 6e 6d 61 78 28 49 29 3a 5c | dict(X2,-1)\n\n\ndef.minmax(I):\ |
12020 | 6e 20 20 20 20 72 65 74 75 72 6e 20 6e 70 2e 6d 69 6e 69 6d 75 6d 28 6e 70 2e 6d 61 78 69 6d 75 | n....return.np.minimum(np.maximu |
12040 | 6d 28 49 2c 30 29 2c 31 29 5c 6e 5c 6e 49 31 74 3d 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 58 | m(I,0),1)\n\nI1t=minmax(mat2im(X |
12060 | 31 74 2c 49 31 2e 73 68 61 70 65 29 29 5c 6e 49 32 74 3d 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d | 1t,I1.shape))\nI2t=minmax(mat2im |
12080 | 28 58 32 74 2c 49 32 2e 73 68 61 70 65 29 29 5c 6e 5c 6e 49 31 74 65 3d 6d 69 6e 6d 61 78 28 6d | (X2t,I2.shape))\n\nI1te=minmax(m |
120a0 | 61 74 32 69 6d 28 58 31 74 65 2c 49 31 2e 73 68 61 70 65 29 29 5c 6e 49 32 74 65 3d 6d 69 6e 6d | at2im(X1te,I1.shape))\nI2te=minm |
120c0 | 61 78 28 6d 61 74 32 69 6d 28 58 32 74 65 2c 49 32 2e 73 68 61 70 65 29 29 5c 6e 5c 6e 23 25 25 | ax(mat2im(X2te,I2.shape))\n\n#%% |
120e0 | 20 70 6c 6f 74 20 61 6c 6c 20 69 6d 61 67 65 73 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 2c | .plot.all.images\n\npl.figure(2, |
12100 | 28 31 30 2c 38 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 31 29 5c 6e 5c 6e | (10,8))\n\npl.subplot(2,3,1)\n\n |
12120 | 70 6c 2e 69 6d 73 68 6f 77 28 49 31 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 31 | pl.imshow(I1)\npl.title('Image.1 |
12140 | 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 32 29 5c 6e 70 6c 2e 69 6d 73 68 | ')\n\npl.subplot(2,3,2)\npl.imsh |
12160 | 6f 77 28 49 31 74 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 31 20 41 64 61 70 74 | ow(I1t)\npl.title('Image.1.Adapt |
12180 | 27 29 5c 6e 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 33 29 5c 6e 70 6c 2e 69 6d | ')\n\n\npl.subplot(2,3,3)\npl.im |
121a0 | 73 68 6f 77 28 49 31 74 65 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 31 20 41 64 | show(I1te)\npl.title('Image.1.Ad |
121c0 | 61 70 74 20 28 72 65 67 29 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 34 29 | apt.(reg)')\n\npl.subplot(2,3,4) |
121e0 | 5c 6e 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 32 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 | \n\npl.imshow(I2)\npl.title('Ima |
12200 | 67 65 20 32 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 35 29 5c 6e 70 6c 2e | ge.2')\n\npl.subplot(2,3,5)\npl. |
12220 | 69 6d 73 68 6f 77 28 49 32 74 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 32 20 41 | imshow(I2t)\npl.title('Image.2.A |
12240 | 64 61 70 74 27 29 5c 6e 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 36 29 5c 6e 70 | dapt')\n\n\npl.subplot(2,3,6)\np |
12260 | 6c 2e 69 6d 73 68 6f 77 28 49 32 74 65 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 | l.imshow(I2te)\npl.title('Image. |
12280 | 32 20 41 64 61 70 74 20 28 72 65 67 29 27 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 | 2.Adapt.(reg)')\n\npl.show()"... |
122a0 | 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 | ....],........"outputs":.[],.... |
122c0 | 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 | ...."metadata":.{........."colla |
122e0 | 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 5d 2c 20 | psed":.false.......}.....}...],. |
12300 | 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c 73 70 65 63 | ..."metadata":.{....."kernelspec |
12320 | 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 | ":.{......."display_name":."Pyth |
12340 | 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 32 22 2c | on.2",........"name":."python2", |
12360 | 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 0a 20 20 20 | ........"language":."python".... |
12380 | 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 | .},......"language_info":.{..... |
123a0 | 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 20 0a | .."mimetype":."text/x-python",.. |
123c0 | 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 22 70 79 74 | ......"nbconvert_exporter":."pyt |
123e0 | 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a | hon",........"name":."python",.. |
12400 | 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 20 0a | ......"file_extension":.".py",.. |
12420 | 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a 20 20 20 20 | ......"version":."2.7.12",...... |
12440 | 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 32 22 2c 20 | .."pygments_lexer":."ipython2",. |
12460 | 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a 20 20 20 20 | ......."codemirror_mode":.{..... |
12480 | 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 | ...."version":.2,.........."name |
124a0 | 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d | ":."ipython".......}.....}...}.} |
124c0 | 50 4b 03 04 14 00 00 00 00 00 d7 7b 82 49 c4 9e 28 9b ea 11 00 00 ea 11 00 00 32 00 00 00 61 75 | PK.........{.I..(.........2...au |
124e0 | 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 44 41 5f 6d 61 70 70 69 6e 67 5f 63 6f | to_examples/plot_OTDA_mapping_co |
12500 | 6c 6f 72 5f 69 6d 61 67 65 73 2e 69 70 79 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 | lor_images.ipynb{..."nbformat_mi |
12520 | 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 | nor":.0,...."nbformat":.4,...."c |
12540 | 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f | ells":.[.....{......."execution_ |
12560 | 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 | count":.null,........"cell_type" |
12580 | 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | :."code",........"source":.[.... |
125a0 | 20 20 20 20 20 22 25 6d 61 74 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 | ....."%matplotlib.inline"....... |
125c0 | 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 | ],........"outputs":.[],........ |
125e0 | 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 | "metadata":.{........."collapsed |
12600 | 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 | ":.false.......}.....},......{.. |
12620 | 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 3d 3d 3d 3d | ....."source":.[........."\n==== |
12640 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
12660 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
12680 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 4f 54 20 66 6f 72 20 64 6f 6d 61 69 6e 20 | ================\nOT.for.domain. |
126a0 | 61 64 61 70 74 61 74 69 6f 6e 20 77 69 74 68 20 69 6d 61 67 65 20 63 6f 6c 6f 72 20 61 64 61 70 | adaptation.with.image.color.adap |
126c0 | 74 61 74 69 6f 6e 20 5b 36 5d 20 77 69 74 68 20 6d 61 70 70 69 6e 67 20 65 73 74 69 6d 61 74 69 | tation.[6].with.mapping.estimati |
126e0 | 6f 6e 20 5b 38 5d 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | on.[8]\n======================== |
12700 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
12720 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 5c 6e | ============================\n\n |
12740 | 5b 36 5d 20 46 65 72 72 61 64 61 6e 73 2c 20 53 2e 2c 20 50 61 70 61 64 61 6b 69 73 2c 20 4e 2e | [6].Ferradans,.S.,.Papadakis,.N. |
12760 | 2c 20 50 65 79 72 65 2c 20 47 2e 2c 20 26 20 41 75 6a 6f 6c 2c 20 4a 2e 20 46 2e 20 28 32 30 31 | ,.Peyre,.G.,.&.Aujol,.J..F..(201 |
12780 | 34 29 2e 20 52 65 67 75 6c 61 72 69 7a 65 64 5c 6e 20 20 20 20 64 69 73 63 72 65 74 65 20 6f 70 | 4)..Regularized\n....discrete.op |
127a0 | 74 69 6d 61 6c 20 74 72 61 6e 73 70 6f 72 74 2e 20 53 49 41 4d 20 4a 6f 75 72 6e 61 6c 20 6f 6e | timal.transport..SIAM.Journal.on |
127c0 | 20 49 6d 61 67 69 6e 67 20 53 63 69 65 6e 63 65 73 2c 20 37 28 33 29 2c 20 31 38 35 33 2d 31 38 | .Imaging.Sciences,.7(3),.1853-18 |
127e0 | 38 32 2e 5c 6e 5b 38 5d 20 4d 2e 20 50 65 72 72 6f 74 2c 20 4e 2e 20 43 6f 75 72 74 79 2c 20 52 | 82.\n[8].M..Perrot,.N..Courty,.R |
12800 | 2e 20 46 6c 61 6d 61 72 79 2c 20 41 2e 20 48 61 62 72 61 72 64 2c 20 5c 22 4d 61 70 70 69 6e 67 | ..Flamary,.A..Habrard,.\"Mapping |
12820 | 20 65 73 74 69 6d 61 74 69 6f 6e 20 66 6f 72 5c 6e 20 20 20 20 64 69 73 63 72 65 74 65 20 6f 70 | .estimation.for\n....discrete.op |
12840 | 74 69 6d 61 6c 20 74 72 61 6e 73 70 6f 72 74 5c 22 2c 20 4e 65 75 72 61 6c 20 49 6e 66 6f 72 6d | timal.transport\",.Neural.Inform |
12860 | 61 74 69 6f 6e 20 50 72 6f 63 65 73 73 69 6e 67 20 53 79 73 74 65 6d 73 20 28 4e 49 50 53 29 2c | ation.Processing.Systems.(NIPS), |
12880 | 20 32 30 31 36 2e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 | .2016.\n\n\n".......],........"c |
128a0 | 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d | ell_type":."markdown",........"m |
128c0 | 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 | etadata":.{}.....},......{...... |
128e0 | 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 | ."execution_count":.null,....... |
12900 | 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f | ."cell_type":."code",........"so |
12920 | 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 | urce":.[........."import.numpy.a |
12940 | 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 73 63 69 70 79 2e 6e 64 69 6d 61 67 65 20 61 73 20 73 70 | s.np\nimport.scipy.ndimage.as.sp |
12960 | 69 5c 6e 69 6d 70 6f 72 74 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 70 79 6c 61 62 20 61 73 20 70 6c | i\nimport.matplotlib.pylab.as.pl |
12980 | 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 5c 6e 5c 6e 23 25 25 20 4c 6f 61 64 69 6e 67 20 69 6d 61 | \nimport.ot\n\n\n#%%.Loading.ima |
129a0 | 67 65 73 5c 6e 5c 6e 49 31 3d 73 70 69 2e 69 6d 72 65 61 64 28 27 2e 2e 2f 64 61 74 61 2f 6f 63 | ges\n\nI1=spi.imread('../data/oc |
129c0 | 65 61 6e 5f 64 61 79 2e 6a 70 67 27 29 2e 61 73 74 79 70 65 28 6e 70 2e 66 6c 6f 61 74 36 34 29 | ean_day.jpg').astype(np.float64) |
129e0 | 2f 32 35 36 5c 6e 49 32 3d 73 70 69 2e 69 6d 72 65 61 64 28 27 2e 2e 2f 64 61 74 61 2f 6f 63 65 | /256\nI2=spi.imread('../data/oce |
12a00 | 61 6e 5f 73 75 6e 73 65 74 2e 6a 70 67 27 29 2e 61 73 74 79 70 65 28 6e 70 2e 66 6c 6f 61 74 36 | an_sunset.jpg').astype(np.float6 |
12a20 | 34 29 2f 32 35 36 5c 6e 5c 6e 23 25 25 20 50 6c 6f 74 20 69 6d 61 67 65 73 5c 6e 5c 6e 70 6c 2e | 4)/256\n\n#%%.Plot.images\n\npl. |
12a40 | 66 69 67 75 72 65 28 31 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 32 2c 31 29 5c 6e | figure(1)\n\npl.subplot(1,2,1)\n |
12a60 | 70 6c 2e 69 6d 73 68 6f 77 28 49 31 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 31 | pl.imshow(I1)\npl.title('Image.1 |
12a80 | 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 32 2c 32 29 5c 6e 70 6c 2e 69 6d 73 68 | ')\n\npl.subplot(1,2,2)\npl.imsh |
12aa0 | 6f 77 28 49 32 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 32 27 29 5c 6e 5c 6e 70 | ow(I2)\npl.title('Image.2')\n\np |
12ac0 | 6c 2e 73 68 6f 77 28 29 5c 6e 5c 6e 23 25 25 20 49 6d 61 67 65 20 63 6f 6e 76 65 72 73 69 6f 6e | l.show()\n\n#%%.Image.conversion |
12ae0 | 20 61 6e 64 20 64 61 74 61 73 65 74 20 67 65 6e 65 72 61 74 69 6f 6e 5c 6e 5c 6e 64 65 66 20 69 | .and.dataset.generation\n\ndef.i |
12b00 | 6d 32 6d 61 74 28 49 29 3a 5c 6e 20 20 20 20 5c 22 5c 22 5c 22 43 6f 6e 76 65 72 74 73 20 61 6e | m2mat(I):\n....\"\"\"Converts.an |
12b20 | 64 20 69 6d 61 67 65 20 74 6f 20 6d 61 74 72 69 78 20 28 6f 6e 65 20 70 69 78 65 6c 20 70 65 72 | d.image.to.matrix.(one.pixel.per |
12b40 | 20 6c 69 6e 65 29 5c 22 5c 22 5c 22 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 49 2e 72 65 73 68 61 | .line)\"\"\"\n....return.I.resha |
12b60 | 70 65 28 28 49 2e 73 68 61 70 65 5b 30 5d 2a 49 2e 73 68 61 70 65 5b 31 5d 2c 49 2e 73 68 61 70 | pe((I.shape[0]*I.shape[1],I.shap |
12b80 | 65 5b 32 5d 29 29 5c 6e 5c 6e 64 65 66 20 6d 61 74 32 69 6d 28 58 2c 73 68 61 70 65 29 3a 5c 6e | e[2]))\n\ndef.mat2im(X,shape):\n |
12ba0 | 20 20 20 20 5c 22 5c 22 5c 22 43 6f 6e 76 65 72 74 73 20 62 61 63 6b 20 61 20 6d 61 74 72 69 78 | ....\"\"\"Converts.back.a.matrix |
12bc0 | 20 74 6f 20 61 6e 20 69 6d 61 67 65 5c 22 5c 22 5c 22 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 58 | .to.an.image\"\"\"\n....return.X |
12be0 | 2e 72 65 73 68 61 70 65 28 73 68 61 70 65 29 5c 6e 5c 6e 58 31 3d 69 6d 32 6d 61 74 28 49 31 29 | .reshape(shape)\n\nX1=im2mat(I1) |
12c00 | 5c 6e 58 32 3d 69 6d 32 6d 61 74 28 49 32 29 5c 6e 5c 6e 23 20 74 72 61 69 6e 69 6e 67 20 73 61 | \nX2=im2mat(I2)\n\n#.training.sa |
12c20 | 6d 70 6c 65 73 5c 6e 6e 62 3d 31 30 30 30 5c 6e 69 64 78 31 3d 6e 70 2e 72 61 6e 64 6f 6d 2e 72 | mples\nnb=1000\nidx1=np.random.r |
12c40 | 61 6e 64 69 6e 74 28 58 31 2e 73 68 61 70 65 5b 30 5d 2c 73 69 7a 65 3d 28 6e 62 2c 29 29 5c 6e | andint(X1.shape[0],size=(nb,))\n |
12c60 | 69 64 78 32 3d 6e 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 69 6e 74 28 58 32 2e 73 68 61 70 65 5b | idx2=np.random.randint(X2.shape[ |
12c80 | 30 5d 2c 73 69 7a 65 3d 28 6e 62 2c 29 29 5c 6e 5c 6e 78 73 3d 58 31 5b 69 64 78 31 2c 3a 5d 5c | 0],size=(nb,))\n\nxs=X1[idx1,:]\ |
12ca0 | 6e 78 74 3d 58 32 5b 69 64 78 32 2c 3a 5d 5c 6e 5c 6e 23 25 25 20 50 6c 6f 74 20 69 6d 61 67 65 | nxt=X2[idx2,:]\n\n#%%.Plot.image |
12cc0 | 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 2c | .distributions\n\n\npl.figure(2, |
12ce0 | 28 31 30 2c 35 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 32 2c 31 29 5c 6e 70 6c | (10,5))\n\npl.subplot(1,2,1)\npl |
12d00 | 2e 73 63 61 74 74 65 72 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 32 5d 2c 63 3d 78 73 29 5c 6e | .scatter(xs[:,0],xs[:,2],c=xs)\n |
12d20 | 70 6c 2e 61 78 69 73 28 5b 30 2c 31 2c 30 2c 31 5d 29 5c 6e 70 6c 2e 78 6c 61 62 65 6c 28 27 52 | pl.axis([0,1,0,1])\npl.xlabel('R |
12d40 | 65 64 27 29 5c 6e 70 6c 2e 79 6c 61 62 65 6c 28 27 42 6c 75 65 27 29 5c 6e 70 6c 2e 74 69 74 6c | ed')\npl.ylabel('Blue')\npl.titl |
12d60 | 65 28 27 49 6d 61 67 65 20 31 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 32 2c 32 | e('Image.1')\n\npl.subplot(1,2,2 |
12d80 | 29 5c 6e 23 70 6c 2e 69 6d 73 68 6f 77 28 49 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 | )\n#pl.imshow(I2)\npl.scatter(xt |
12da0 | 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 32 5d 2c 63 3d 78 74 29 5c 6e 70 6c 2e 61 78 69 73 28 5b 30 2c | [:,0],xt[:,2],c=xt)\npl.axis([0, |
12dc0 | 31 2c 30 2c 31 5d 29 5c 6e 70 6c 2e 78 6c 61 62 65 6c 28 27 52 65 64 27 29 5c 6e 70 6c 2e 79 6c | 1,0,1])\npl.xlabel('Red')\npl.yl |
12de0 | 61 62 65 6c 28 27 42 6c 75 65 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 32 27 | abel('Blue')\npl.title('Image.2' |
12e00 | 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 64 6f 6d 61 69 6e | )\n\npl.show()\n\n\n\n#%%.domain |
12e20 | 20 61 64 61 70 74 61 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 69 6d 61 67 65 73 5c 6e 64 65 66 20 | .adaptation.between.images\ndef. |
12e40 | 6d 69 6e 6d 61 78 28 49 29 3a 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 6e 70 2e 6d 69 6e 69 6d 75 | minmax(I):\n....return.np.minimu |
12e60 | 6d 28 6e 70 2e 6d 61 78 69 6d 75 6d 28 49 2c 30 29 2c 31 29 5c 6e 23 20 4c 50 20 70 72 6f 62 6c | m(np.maximum(I,0),1)\n#.LP.probl |
12e80 | 65 6d 5c 6e 64 61 5f 65 6d 64 3d 6f 74 2e 64 61 2e 4f 54 44 41 28 29 20 20 20 20 20 23 20 69 6e | em\nda_emd=ot.da.OTDA().....#.in |
12ea0 | 69 74 20 63 6c 61 73 73 5c 6e 64 61 5f 65 6d 64 2e 66 69 74 28 78 73 2c 78 74 29 20 20 20 20 20 | it.class\nda_emd.fit(xs,xt)..... |
12ec0 | 20 20 23 20 66 69 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e 58 31 74 3d 64 61 5f | ..#.fit.distributions\n\nX1t=da_ |
12ee0 | 65 6d 64 2e 70 72 65 64 69 63 74 28 58 31 29 20 20 23 20 6f 75 74 20 6f 66 20 73 61 6d 70 6c 65 | emd.predict(X1)..#.out.of.sample |
12f00 | 5c 6e 49 31 74 3d 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 58 31 74 2c 49 31 2e 73 68 61 70 65 | \nI1t=minmax(mat2im(X1t,I1.shape |
12f20 | 29 29 5c 6e 5c 6e 23 20 73 69 6e 6b 68 6f 72 6e 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 5c | ))\n\n#.sinkhorn.regularization\ |
12f40 | 6e 6c 61 6d 62 64 3d 31 65 2d 31 5c 6e 64 61 5f 65 6e 74 72 6f 70 3d 6f 74 2e 64 61 2e 4f 54 44 | nlambd=1e-1\nda_entrop=ot.da.OTD |
12f60 | 41 5f 73 69 6e 6b 68 6f 72 6e 28 29 5c 6e 64 61 5f 65 6e 74 72 6f 70 2e 66 69 74 28 78 73 2c 78 | A_sinkhorn()\nda_entrop.fit(xs,x |
12f80 | 74 2c 72 65 67 3d 6c 61 6d 62 64 29 5c 6e 5c 6e 58 31 74 65 3d 64 61 5f 65 6e 74 72 6f 70 2e 70 | t,reg=lambd)\n\nX1te=da_entrop.p |
12fa0 | 72 65 64 69 63 74 28 58 31 29 5c 6e 49 31 74 65 3d 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 58 | redict(X1)\nI1te=minmax(mat2im(X |
12fc0 | 31 74 65 2c 49 31 2e 73 68 61 70 65 29 29 5c 6e 5c 6e 23 20 6c 69 6e 65 61 72 20 6d 61 70 70 69 | 1te,I1.shape))\n\n#.linear.mappi |
12fe0 | 6e 67 20 65 73 74 69 6d 61 74 69 6f 6e 5c 6e 65 74 61 3d 31 65 2d 38 20 20 20 23 20 71 75 61 64 | ng.estimation\neta=1e-8...#.quad |
13000 | 72 61 74 69 63 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 20 66 6f 72 20 72 65 67 72 65 73 73 | ratic.regularization.for.regress |
13020 | 69 6f 6e 5c 6e 6d 75 3d 31 65 30 20 20 20 20 20 23 20 77 65 69 67 68 74 20 6f 66 20 74 68 65 20 | ion\nmu=1e0.....#.weight.of.the. |
13040 | 4f 54 20 6c 69 6e 65 61 72 20 74 65 72 6d 5c 6e 62 69 61 73 3d 54 72 75 65 20 20 23 20 65 73 74 | OT.linear.term\nbias=True..#.est |
13060 | 69 6d 61 74 65 20 61 20 62 69 61 73 5c 6e 5c 6e 6f 74 5f 6d 61 70 70 69 6e 67 3d 6f 74 2e 64 61 | imate.a.bias\n\not_mapping=ot.da |
13080 | 2e 4f 54 44 41 5f 6d 61 70 70 69 6e 67 5f 6c 69 6e 65 61 72 28 29 5c 6e 6f 74 5f 6d 61 70 70 69 | .OTDA_mapping_linear()\not_mappi |
130a0 | 6e 67 2e 66 69 74 28 78 73 2c 78 74 2c 6d 75 3d 6d 75 2c 65 74 61 3d 65 74 61 2c 62 69 61 73 3d | ng.fit(xs,xt,mu=mu,eta=eta,bias= |
130c0 | 62 69 61 73 2c 6e 75 6d 49 74 65 72 6d 61 78 20 3d 20 32 30 2c 76 65 72 62 6f 73 65 3d 54 72 75 | bias,numItermax.=.20,verbose=Tru |
130e0 | 65 29 5c 6e 5c 6e 58 31 74 6c 3d 6f 74 5f 6d 61 70 70 69 6e 67 2e 70 72 65 64 69 63 74 28 58 31 | e)\n\nX1tl=ot_mapping.predict(X1 |
13100 | 29 20 23 20 75 73 65 20 74 68 65 20 65 73 74 69 6d 61 74 65 64 20 6d 61 70 70 69 6e 67 5c 6e 49 | ).#.use.the.estimated.mapping\nI |
13120 | 31 74 6c 3d 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 58 31 74 6c 2c 49 31 2e 73 68 61 70 65 29 | 1tl=minmax(mat2im(X1tl,I1.shape) |
13140 | 29 5c 6e 5c 6e 23 20 6e 6f 6e 6c 69 6e 65 61 72 20 6d 61 70 70 69 6e 67 20 65 73 74 69 6d 61 74 | )\n\n#.nonlinear.mapping.estimat |
13160 | 69 6f 6e 5c 6e 65 74 61 3d 31 65 2d 32 20 20 20 23 20 71 75 61 64 72 61 74 69 63 20 72 65 67 75 | ion\neta=1e-2...#.quadratic.regu |
13180 | 6c 61 72 69 7a 61 74 69 6f 6e 20 66 6f 72 20 72 65 67 72 65 73 73 69 6f 6e 5c 6e 6d 75 3d 31 65 | larization.for.regression\nmu=1e |
131a0 | 30 20 20 20 20 20 23 20 77 65 69 67 68 74 20 6f 66 20 74 68 65 20 4f 54 20 6c 69 6e 65 61 72 20 | 0.....#.weight.of.the.OT.linear. |
131c0 | 74 65 72 6d 5c 6e 62 69 61 73 3d 46 61 6c 73 65 20 20 23 20 65 73 74 69 6d 61 74 65 20 61 20 62 | term\nbias=False..#.estimate.a.b |
131e0 | 69 61 73 5c 6e 73 69 67 6d 61 3d 31 20 20 20 20 23 20 73 69 67 6d 61 20 62 61 6e 64 77 69 64 74 | ias\nsigma=1....#.sigma.bandwidt |
13200 | 68 20 66 6f 74 20 67 61 75 73 73 69 61 6e 20 6b 65 72 6e 65 6c 5c 6e 5c 6e 5c 6e 6f 74 5f 6d 61 | h.fot.gaussian.kernel\n\n\not_ma |
13220 | 70 70 69 6e 67 5f 6b 65 72 6e 65 6c 3d 6f 74 2e 64 61 2e 4f 54 44 41 5f 6d 61 70 70 69 6e 67 5f | pping_kernel=ot.da.OTDA_mapping_ |
13240 | 6b 65 72 6e 65 6c 28 29 5c 6e 6f 74 5f 6d 61 70 70 69 6e 67 5f 6b 65 72 6e 65 6c 2e 66 69 74 28 | kernel()\not_mapping_kernel.fit( |
13260 | 78 73 2c 78 74 2c 6d 75 3d 6d 75 2c 65 74 61 3d 65 74 61 2c 73 69 67 6d 61 3d 73 69 67 6d 61 2c | xs,xt,mu=mu,eta=eta,sigma=sigma, |
13280 | 62 69 61 73 3d 62 69 61 73 2c 6e 75 6d 49 74 65 72 6d 61 78 20 3d 20 31 30 2c 76 65 72 62 6f 73 | bias=bias,numItermax.=.10,verbos |
132a0 | 65 3d 54 72 75 65 29 5c 6e 5c 6e 58 31 74 6e 3d 6f 74 5f 6d 61 70 70 69 6e 67 5f 6b 65 72 6e 65 | e=True)\n\nX1tn=ot_mapping_kerne |
132c0 | 6c 2e 70 72 65 64 69 63 74 28 58 31 29 20 23 20 75 73 65 20 74 68 65 20 65 73 74 69 6d 61 74 65 | l.predict(X1).#.use.the.estimate |
132e0 | 64 20 6d 61 70 70 69 6e 67 5c 6e 49 31 74 6e 3d 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 58 31 | d.mapping\nI1tn=minmax(mat2im(X1 |
13300 | 74 6e 2c 49 31 2e 73 68 61 70 65 29 29 5c 6e 23 25 25 20 70 6c 6f 74 20 69 6d 61 67 65 73 5c 6e | tn,I1.shape))\n#%%.plot.images\n |
13320 | 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 2c 28 31 30 2c 38 29 29 5c 6e 5c 6e 70 6c 2e 73 75 | \n\npl.figure(2,(10,8))\n\npl.su |
13340 | 62 70 6c 6f 74 28 32 2c 33 2c 31 29 5c 6e 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 29 5c 6e 70 | bplot(2,3,1)\n\npl.imshow(I1)\np |
13360 | 6c 2e 74 69 74 6c 65 28 27 49 6d 2e 20 31 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 | l.title('Im..1')\n\npl.subplot(2 |
13380 | 2c 33 2c 32 29 5c 6e 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 32 29 5c 6e 70 6c 2e 74 69 74 6c 65 | ,3,2)\n\npl.imshow(I2)\npl.title |
133a0 | 28 27 49 6d 2e 20 32 27 29 5c 6e 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 33 29 | ('Im..2')\n\n\npl.subplot(2,3,3) |
133c0 | 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 74 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 2e 20 | \npl.imshow(I1t)\npl.title('Im.. |
133e0 | 31 20 49 6e 74 65 72 70 20 4c 50 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c | 1.Interp.LP')\n\npl.subplot(2,3, |
13400 | 34 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 74 65 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 | 4)\npl.imshow(I1te)\npl.title('I |
13420 | 6d 2e 20 31 20 49 6e 74 65 72 70 20 45 6e 74 72 6f 70 27 29 5c 6e 5c 6e 5c 6e 70 6c 2e 73 75 62 | m..1.Interp.Entrop')\n\n\npl.sub |
13440 | 70 6c 6f 74 28 32 2c 33 2c 35 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 74 6c 29 5c 6e 70 6c | plot(2,3,5)\npl.imshow(I1tl)\npl |
13460 | 2e 74 69 74 6c 65 28 27 49 6d 2e 20 31 20 4c 69 6e 65 61 72 20 6d 61 70 70 69 6e 67 27 29 5c 6e | .title('Im..1.Linear.mapping')\n |
13480 | 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 36 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 | \npl.subplot(2,3,6)\npl.imshow(I |
134a0 | 31 74 6e 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 2e 20 31 20 6e 6f 6e 6c 69 6e 65 61 72 20 | 1tn)\npl.title('Im..1.nonlinear. |
134c0 | 6d 61 70 70 69 6e 67 27 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 2c | mapping')\n\npl.show()".......], |
134e0 | 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d | ........"outputs":.[],........"m |
13500 | 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a | etadata":.{........."collapsed": |
13520 | 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 | .false.......}.....}...],...."me |
13540 | 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 | tadata":.{....."kernelspec":.{.. |
13560 | 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c | ....."display_name":."Python.2", |
13580 | 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 | ........"name":."python2",...... |
135a0 | 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 | .."language":."python".....},... |
135c0 | 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d | ..."language_info":.{......."mim |
135e0 | 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 | etype":."text/x-python",........ |
13600 | 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 | "nbconvert_exporter":."python",. |
13620 | 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 | ......."name":."python",........ |
13640 | 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 | "file_extension":.".py",........ |
13660 | 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a 20 20 20 20 20 20 22 70 79 67 | "version":."2.7.12",........"pyg |
13680 | 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 | ments_lexer":."ipython2",....... |
136a0 | 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 | ."codemirror_mode":.{........."v |
136c0 | 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 | ersion":.2,.........."name":."ip |
136e0 | 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 | ython".......}.....}...}.}PK.... |
13700 | 00 00 00 00 34 87 1e 4b ea e0 aa 32 e7 17 00 00 e7 17 00 00 2a 00 00 00 61 75 74 6f 5f 65 78 61 | ....4..K...2........*...auto_exa |
13720 | 6d 70 6c 65 73 2f 70 6c 6f 74 5f 6f 74 64 61 5f 63 6f 6c 6f 72 5f 69 6d 61 67 65 73 2e 69 70 79 | mples/plot_otda_color_images.ipy |
13740 | 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 6e | nb{..."nbformat_minor":.0,...."n |
13760 | 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b | bformat":.4,...."cells":.[.....{ |
13780 | 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 | ......."execution_count":.null,. |
137a0 | 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 | ......."cell_type":."code",..... |
137c0 | 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 74 70 6c 6f 74 | ..."source":.[........."%matplot |
137e0 | 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 | lib.inline".......],........"out |
13800 | 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a | puts":.[],........"metadata":.{. |
13820 | 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 | ........"collapsed":.false...... |
13840 | 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a | .}.....},......{......."source": |
13860 | 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | .[........."\n================== |
13880 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
138a0 | 3d 3d 3d 3d 3d 3d 5c 6e 4f 54 20 66 6f 72 20 64 6f 6d 61 69 6e 20 61 64 61 70 74 61 74 69 6f 6e | ======\nOT.for.domain.adaptation |
138c0 | 20 77 69 74 68 20 69 6d 61 67 65 20 63 6f 6c 6f 72 20 61 64 61 70 74 61 74 69 6f 6e 20 5b 36 5d | .with.image.color.adaptation.[6] |
138e0 | 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | \n============================== |
13900 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 5c 6e 54 68 | ==========================\n\nTh |
13920 | 69 73 20 65 78 61 6d 70 6c 65 20 70 72 65 73 65 6e 74 73 20 61 20 77 61 79 20 6f 66 20 74 72 61 | is.example.presents.a.way.of.tra |
13940 | 6e 73 66 65 72 72 69 6e 67 20 63 6f 6c 6f 72 73 20 62 65 74 77 65 65 6e 20 74 77 6f 20 69 6d 61 | nsferring.colors.between.two.ima |
13960 | 67 65 5c 6e 77 69 74 68 20 4f 70 74 69 6d 61 6c 20 54 72 61 6e 73 70 6f 72 74 20 61 73 20 69 6e | ge\nwith.Optimal.Transport.as.in |
13980 | 74 72 6f 64 75 63 65 64 20 69 6e 20 5b 36 5d 5c 6e 5c 6e 5b 36 5d 20 46 65 72 72 61 64 61 6e 73 | troduced.in.[6]\n\n[6].Ferradans |
139a0 | 2c 20 53 2e 2c 20 50 61 70 61 64 61 6b 69 73 2c 20 4e 2e 2c 20 50 65 79 72 65 2c 20 47 2e 2c 20 | ,.S.,.Papadakis,.N.,.Peyre,.G.,. |
139c0 | 26 20 41 75 6a 6f 6c 2c 20 4a 2e 20 46 2e 20 28 32 30 31 34 29 2e 5c 6e 52 65 67 75 6c 61 72 69 | &.Aujol,.J..F..(2014).\nRegulari |
139e0 | 7a 65 64 20 64 69 73 63 72 65 74 65 20 6f 70 74 69 6d 61 6c 20 74 72 61 6e 73 70 6f 72 74 2e 5c | zed.discrete.optimal.transport.\ |
13a00 | 6e 53 49 41 4d 20 4a 6f 75 72 6e 61 6c 20 6f 6e 20 49 6d 61 67 69 6e 67 20 53 63 69 65 6e 63 65 | nSIAM.Journal.on.Imaging.Science |
13a20 | 73 2c 20 37 28 33 29 2c 20 31 38 35 33 2d 31 38 38 32 2e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d | s,.7(3),.1853-1882.\n\n".......] |
13a40 | 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 | ,........"cell_type":."markdown" |
13a60 | 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a | ,........"metadata":.{}.....},.. |
13a80 | 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e | ....{......."execution_count":.n |
13aa0 | 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c | ull,........"cell_type":."code", |
13ac0 | 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 20 41 | ........"source":.[........."#.A |
13ae0 | 75 74 68 6f 72 73 3a 20 52 65 6d 69 20 46 6c 61 6d 61 72 79 20 3c 72 65 6d 69 2e 66 6c 61 6d 61 | uthors:.Remi.Flamary.<remi.flama |
13b00 | 72 79 40 75 6e 69 63 65 2e 66 72 3e 5c 6e 23 20 20 20 20 20 20 20 20 20 20 53 74 61 6e 69 73 6c | ry@unice.fr>\n#..........Stanisl |
13b20 | 61 73 20 43 68 61 6d 62 6f 6e 20 3c 73 74 61 6e 2e 63 68 61 6d 62 6f 6e 40 67 6d 61 69 6c 2e 63 | as.Chambon.<stan.chambon@gmail.c |
13b40 | 6f 6d 3e 5c 6e 23 5c 6e 23 20 4c 69 63 65 6e 73 65 3a 20 4d 49 54 20 4c 69 63 65 6e 73 65 5c 6e | om>\n#\n#.License:.MIT.License\n |
13b60 | 5c 6e 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 6e 70 5c 6e 66 72 6f 6d 20 73 63 69 70 79 | \nimport.numpy.as.np\nfrom.scipy |
13b80 | 20 69 6d 70 6f 72 74 20 6e 64 69 6d 61 67 65 5c 6e 69 6d 70 6f 72 74 20 6d 61 74 70 6c 6f 74 6c | .import.ndimage\nimport.matplotl |
13ba0 | 69 62 2e 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 5c 6e 5c 6e 72 | ib.pylab.as.pl\nimport.ot\n\n\nr |
13bc0 | 20 3d 20 6e 70 2e 72 61 6e 64 6f 6d 2e 52 61 6e 64 6f 6d 53 74 61 74 65 28 34 32 29 5c 6e 5c 6e | .=.np.random.RandomState(42)\n\n |
13be0 | 5c 6e 64 65 66 20 69 6d 32 6d 61 74 28 49 29 3a 5c 6e 20 20 20 20 5c 22 5c 22 5c 22 43 6f 6e 76 | \ndef.im2mat(I):\n....\"\"\"Conv |
13c00 | 65 72 74 73 20 61 6e 64 20 69 6d 61 67 65 20 74 6f 20 6d 61 74 72 69 78 20 28 6f 6e 65 20 70 69 | erts.and.image.to.matrix.(one.pi |
13c20 | 78 65 6c 20 70 65 72 20 6c 69 6e 65 29 5c 22 5c 22 5c 22 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 | xel.per.line)\"\"\"\n....return. |
13c40 | 49 2e 72 65 73 68 61 70 65 28 28 49 2e 73 68 61 70 65 5b 30 5d 20 2a 20 49 2e 73 68 61 70 65 5b | I.reshape((I.shape[0].*.I.shape[ |
13c60 | 31 5d 2c 20 49 2e 73 68 61 70 65 5b 32 5d 29 29 5c 6e 5c 6e 5c 6e 64 65 66 20 6d 61 74 32 69 6d | 1],.I.shape[2]))\n\n\ndef.mat2im |
13c80 | 28 58 2c 20 73 68 61 70 65 29 3a 5c 6e 20 20 20 20 5c 22 5c 22 5c 22 43 6f 6e 76 65 72 74 73 20 | (X,.shape):\n....\"\"\"Converts. |
13ca0 | 62 61 63 6b 20 61 20 6d 61 74 72 69 78 20 74 6f 20 61 6e 20 69 6d 61 67 65 5c 22 5c 22 5c 22 5c | back.a.matrix.to.an.image\"\"\"\ |
13cc0 | 6e 20 20 20 20 72 65 74 75 72 6e 20 58 2e 72 65 73 68 61 70 65 28 73 68 61 70 65 29 5c 6e 5c 6e | n....return.X.reshape(shape)\n\n |
13ce0 | 5c 6e 64 65 66 20 6d 69 6e 6d 61 78 28 49 29 3a 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 6e 70 2e | \ndef.minmax(I):\n....return.np. |
13d00 | 63 6c 69 70 28 49 2c 20 30 2c 20 31 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 | clip(I,.0,.1)".......],........" |
13d20 | 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a | outputs":.[],........"metadata": |
13d40 | 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 | .{........."collapsed":.false... |
13d60 | 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 | ....}.....},......{......."sourc |
13d80 | 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 67 65 6e 65 72 61 74 65 20 64 61 74 61 5c 6e 23 23 | e":.[........."generate.data\n## |
13da0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
13dc0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
13de0 | 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 | ###########\n\n".......],....... |
13e00 | 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 | ."cell_type":."markdown",....... |
13e20 | 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 | ."metadata":.{}.....},......{... |
13e40 | 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 | ...."execution_count":.null,.... |
13e60 | 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 | ...."cell_type":."code",........ |
13e80 | 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 20 4c 6f 61 64 69 6e 67 20 69 | "source":.[........."#.Loading.i |
13ea0 | 6d 61 67 65 73 5c 6e 49 31 20 3d 20 6e 64 69 6d 61 67 65 2e 69 6d 72 65 61 64 28 27 2e 2e 2f 64 | mages\nI1.=.ndimage.imread('../d |
13ec0 | 61 74 61 2f 6f 63 65 61 6e 5f 64 61 79 2e 6a 70 67 27 29 2e 61 73 74 79 70 65 28 6e 70 2e 66 6c | ata/ocean_day.jpg').astype(np.fl |
13ee0 | 6f 61 74 36 34 29 20 2f 20 32 35 36 5c 6e 49 32 20 3d 20 6e 64 69 6d 61 67 65 2e 69 6d 72 65 61 | oat64)./.256\nI2.=.ndimage.imrea |
13f00 | 64 28 27 2e 2e 2f 64 61 74 61 2f 6f 63 65 61 6e 5f 73 75 6e 73 65 74 2e 6a 70 67 27 29 2e 61 73 | d('../data/ocean_sunset.jpg').as |
13f20 | 74 79 70 65 28 6e 70 2e 66 6c 6f 61 74 36 34 29 20 2f 20 32 35 36 5c 6e 5c 6e 58 31 20 3d 20 69 | type(np.float64)./.256\n\nX1.=.i |
13f40 | 6d 32 6d 61 74 28 49 31 29 5c 6e 58 32 20 3d 20 69 6d 32 6d 61 74 28 49 32 29 5c 6e 5c 6e 23 20 | m2mat(I1)\nX2.=.im2mat(I2)\n\n#. |
13f60 | 74 72 61 69 6e 69 6e 67 20 73 61 6d 70 6c 65 73 5c 6e 6e 62 20 3d 20 31 30 30 30 5c 6e 69 64 78 | training.samples\nnb.=.1000\nidx |
13f80 | 31 20 3d 20 72 2e 72 61 6e 64 69 6e 74 28 58 31 2e 73 68 61 70 65 5b 30 5d 2c 20 73 69 7a 65 3d | 1.=.r.randint(X1.shape[0],.size= |
13fa0 | 28 6e 62 2c 29 29 5c 6e 69 64 78 32 20 3d 20 72 2e 72 61 6e 64 69 6e 74 28 58 32 2e 73 68 61 70 | (nb,))\nidx2.=.r.randint(X2.shap |
13fc0 | 65 5b 30 5d 2c 20 73 69 7a 65 3d 28 6e 62 2c 29 29 5c 6e 5c 6e 58 73 20 3d 20 58 31 5b 69 64 78 | e[0],.size=(nb,))\n\nXs.=.X1[idx |
13fe0 | 31 2c 20 3a 5d 5c 6e 58 74 20 3d 20 58 32 5b 69 64 78 32 2c 20 3a 5d 22 0a 20 20 20 20 20 20 5d | 1,.:]\nXt.=.X2[idx2,.:]".......] |
14000 | 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 | ,........"outputs":.[],........" |
14020 | 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 | metadata":.{........."collapsed" |
14040 | 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 | :.false.......}.....},......{... |
14060 | 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 6e 73 74 61 6e 74 | ...."source":.[........."Instant |
14080 | 69 61 74 65 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 20 74 72 61 6e 73 70 6f 72 74 20 61 6c 67 | iate.the.different.transport.alg |
140a0 | 6f 72 69 74 68 6d 73 20 61 6e 64 20 66 69 74 20 74 68 65 6d 5c 6e 23 23 23 23 23 23 23 23 23 23 | orithms.and.fit.them\n########## |
140c0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
140e0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
14100 | 23 23 23 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 | ###\n\n".......],........"cell_t |
14120 | 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 | ype":."markdown",........"metada |
14140 | 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 | ta":.{}.....},......{......."exe |
14160 | 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c | cution_count":.null,........"cel |
14180 | 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 | l_type":."code",........"source" |
141a0 | 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 20 45 4d 44 54 72 61 6e 73 70 6f 72 74 5c 6e 6f 74 5f | :.[........."#.EMDTransport\not_ |
141c0 | 65 6d 64 20 3d 20 6f 74 2e 64 61 2e 45 4d 44 54 72 61 6e 73 70 6f 72 74 28 29 5c 6e 6f 74 5f 65 | emd.=.ot.da.EMDTransport()\not_e |
141e0 | 6d 64 2e 66 69 74 28 58 73 3d 58 73 2c 20 58 74 3d 58 74 29 5c 6e 5c 6e 23 20 53 69 6e 6b 68 6f | md.fit(Xs=Xs,.Xt=Xt)\n\n#.Sinkho |
14200 | 72 6e 54 72 61 6e 73 70 6f 72 74 5c 6e 6f 74 5f 73 69 6e 6b 68 6f 72 6e 20 3d 20 6f 74 2e 64 61 | rnTransport\not_sinkhorn.=.ot.da |
14220 | 2e 53 69 6e 6b 68 6f 72 6e 54 72 61 6e 73 70 6f 72 74 28 72 65 67 5f 65 3d 31 65 2d 31 29 5c 6e | .SinkhornTransport(reg_e=1e-1)\n |
14240 | 6f 74 5f 73 69 6e 6b 68 6f 72 6e 2e 66 69 74 28 58 73 3d 58 73 2c 20 58 74 3d 58 74 29 5c 6e 5c | ot_sinkhorn.fit(Xs=Xs,.Xt=Xt)\n\ |
14260 | 6e 23 20 70 72 65 64 69 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 69 6d 61 67 65 73 20 28 75 73 | n#.prediction.between.images.(us |
14280 | 69 6e 67 20 6f 75 74 20 6f 66 20 73 61 6d 70 6c 65 20 70 72 65 64 69 63 74 69 6f 6e 20 61 73 20 | ing.out.of.sample.prediction.as. |
142a0 | 69 6e 20 5b 36 5d 29 5c 6e 74 72 61 6e 73 70 5f 58 73 5f 65 6d 64 20 3d 20 6f 74 5f 65 6d 64 2e | in.[6])\ntransp_Xs_emd.=.ot_emd. |
142c0 | 74 72 61 6e 73 66 6f 72 6d 28 58 73 3d 58 31 29 5c 6e 74 72 61 6e 73 70 5f 58 74 5f 65 6d 64 20 | transform(Xs=X1)\ntransp_Xt_emd. |
142e0 | 3d 20 6f 74 5f 65 6d 64 2e 69 6e 76 65 72 73 65 5f 74 72 61 6e 73 66 6f 72 6d 28 58 74 3d 58 32 | =.ot_emd.inverse_transform(Xt=X2 |
14300 | 29 5c 6e 5c 6e 74 72 61 6e 73 70 5f 58 73 5f 73 69 6e 6b 68 6f 72 6e 20 3d 20 6f 74 5f 65 6d 64 | )\n\ntransp_Xs_sinkhorn.=.ot_emd |
14320 | 2e 74 72 61 6e 73 66 6f 72 6d 28 58 73 3d 58 31 29 5c 6e 74 72 61 6e 73 70 5f 58 74 5f 73 69 6e | .transform(Xs=X1)\ntransp_Xt_sin |
14340 | 6b 68 6f 72 6e 20 3d 20 6f 74 5f 65 6d 64 2e 69 6e 76 65 72 73 65 5f 74 72 61 6e 73 66 6f 72 6d | khorn.=.ot_emd.inverse_transform |
14360 | 28 58 74 3d 58 32 29 5c 6e 5c 6e 49 31 74 20 3d 20 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 74 | (Xt=X2)\n\nI1t.=.minmax(mat2im(t |
14380 | 72 61 6e 73 70 5f 58 73 5f 65 6d 64 2c 20 49 31 2e 73 68 61 70 65 29 29 5c 6e 49 32 74 20 3d 20 | ransp_Xs_emd,.I1.shape))\nI2t.=. |
143a0 | 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 74 72 61 6e 73 70 5f 58 74 5f 65 6d 64 2c 20 49 32 2e | minmax(mat2im(transp_Xt_emd,.I2. |
143c0 | 73 68 61 70 65 29 29 5c 6e 5c 6e 49 31 74 65 20 3d 20 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 | shape))\n\nI1te.=.minmax(mat2im( |
143e0 | 74 72 61 6e 73 70 5f 58 73 5f 73 69 6e 6b 68 6f 72 6e 2c 20 49 31 2e 73 68 61 70 65 29 29 5c 6e | transp_Xs_sinkhorn,.I1.shape))\n |
14400 | 49 32 74 65 20 3d 20 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 74 72 61 6e 73 70 5f 58 74 5f 73 | I2te.=.minmax(mat2im(transp_Xt_s |
14420 | 69 6e 6b 68 6f 72 6e 2c 20 49 32 2e 73 68 61 70 65 29 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 | inkhorn,.I2.shape))".......],... |
14440 | 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 | ....."outputs":.[],........"meta |
14460 | 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 | data":.{........."collapsed":.fa |
14480 | 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 | lse.......}.....},......{....... |
144a0 | 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 70 6c 6f 74 20 6f 72 69 67 69 6e | "source":.[........."plot.origin |
144c0 | 61 6c 20 69 6d 61 67 65 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | al.image\n###################### |
144e0 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
14500 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c 6e 22 0a 20 20 20 | #######################\n\n".... |
14520 | 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 | ...],........"cell_type":."markd |
14540 | 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 | own",........"metadata":.{}..... |
14560 | 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 | },......{......."execution_count |
14580 | 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f | ":.null,........"cell_type":."co |
145a0 | 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 | de",........"source":.[......... |
145c0 | 22 70 6c 2e 66 69 67 75 72 65 28 31 2c 20 66 69 67 73 69 7a 65 3d 28 36 2e 34 2c 20 33 29 29 5c | "pl.figure(1,.figsize=(6.4,.3))\ |
145e0 | 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 32 2c 20 31 29 5c 6e 70 6c 2e 69 6d 73 68 6f | n\npl.subplot(1,.2,.1)\npl.imsho |
14600 | 77 28 49 31 29 5c 6e 70 6c 2e 61 78 69 73 28 27 6f 66 66 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 | w(I1)\npl.axis('off')\npl.title( |
14620 | 27 49 6d 61 67 65 20 31 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 32 2c 20 32 | 'Image.1')\n\npl.subplot(1,.2,.2 |
14640 | 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 32 29 5c 6e 70 6c 2e 61 78 69 73 28 27 6f 66 66 27 29 | )\npl.imshow(I2)\npl.axis('off') |
14660 | 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 32 27 29 22 0a 20 20 20 20 20 20 5d 2c 20 | \npl.title('Image.2')".......],. |
14680 | 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 | ......."outputs":.[],........"me |
146a0 | 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 | tadata":.{........."collapsed":. |
146c0 | 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 | false.......}.....},......{..... |
146e0 | 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 73 63 61 74 74 65 72 20 70 | .."source":.[........."scatter.p |
14700 | 6c 6f 74 20 6f 66 20 63 6f 6c 6f 72 73 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | lot.of.colors\n################# |
14720 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
14740 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c 6e | ############################\n\n |
14760 | 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 | ".......],........"cell_type":." |
14780 | 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d | markdown",........"metadata":.{} |
147a0 | 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f | .....},......{......."execution_ |
147c0 | 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 | count":.null,........"cell_type" |
147e0 | 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | :."code",........"source":.[.... |
14800 | 20 20 20 20 20 22 70 6c 2e 66 69 67 75 72 65 28 32 2c 20 66 69 67 73 69 7a 65 3d 28 36 2e 34 2c | ....."pl.figure(2,.figsize=(6.4, |
14820 | 20 33 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 32 2c 20 31 29 5c 6e 70 6c 2e | .3))\n\npl.subplot(1,.2,.1)\npl. |
14840 | 73 63 61 74 74 65 72 28 58 73 5b 3a 2c 20 30 5d 2c 20 58 73 5b 3a 2c 20 32 5d 2c 20 63 3d 58 73 | scatter(Xs[:,.0],.Xs[:,.2],.c=Xs |
14860 | 29 5c 6e 70 6c 2e 61 78 69 73 28 5b 30 2c 20 31 2c 20 30 2c 20 31 5d 29 5c 6e 70 6c 2e 78 6c 61 | )\npl.axis([0,.1,.0,.1])\npl.xla |
14880 | 62 65 6c 28 27 52 65 64 27 29 5c 6e 70 6c 2e 79 6c 61 62 65 6c 28 27 42 6c 75 65 27 29 5c 6e 70 | bel('Red')\npl.ylabel('Blue')\np |
148a0 | 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 31 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 | l.title('Image.1')\n\npl.subplot |
148c0 | 28 31 2c 20 32 2c 20 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 58 74 5b 3a 2c 20 30 5d 2c 20 | (1,.2,.2)\npl.scatter(Xt[:,.0],. |
148e0 | 58 74 5b 3a 2c 20 32 5d 2c 20 63 3d 58 74 29 5c 6e 70 6c 2e 61 78 69 73 28 5b 30 2c 20 31 2c 20 | Xt[:,.2],.c=Xt)\npl.axis([0,.1,. |
14900 | 30 2c 20 31 5d 29 5c 6e 70 6c 2e 78 6c 61 62 65 6c 28 27 52 65 64 27 29 5c 6e 70 6c 2e 79 6c 61 | 0,.1])\npl.xlabel('Red')\npl.yla |
14920 | 62 65 6c 28 27 42 6c 75 65 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 32 27 29 | bel('Blue')\npl.title('Image.2') |
14940 | 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 | \npl.tight_layout()".......],... |
14960 | 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 | ....."outputs":.[],........"meta |
14980 | 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 | data":.{........."collapsed":.fa |
149a0 | 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 | lse.......}.....},......{....... |
149c0 | 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 70 6c 6f 74 20 6e 65 77 20 69 6d | "source":.[........."plot.new.im |
149e0 | 61 67 65 73 5c 6e 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ages\n########################## |
14a00 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 | ################################ |
14a20 | 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d | ###################\n\n".......] |
14a40 | 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 | ,........"cell_type":."markdown" |
14a60 | 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a | ,........"metadata":.{}.....},.. |
14a80 | 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e | ....{......."execution_count":.n |
14aa0 | 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c | ull,........"cell_type":."code", |
14ac0 | 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 70 6c 2e | ........"source":.[........."pl. |
14ae0 | 66 69 67 75 72 65 28 33 2c 20 66 69 67 73 69 7a 65 3d 28 38 2c 20 34 29 29 5c 6e 5c 6e 70 6c 2e | figure(3,.figsize=(8,.4))\n\npl. |
14b00 | 73 75 62 70 6c 6f 74 28 32 2c 20 33 2c 20 31 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 29 5c | subplot(2,.3,.1)\npl.imshow(I1)\ |
14b20 | 6e 70 6c 2e 61 78 69 73 28 27 6f 66 66 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 | npl.axis('off')\npl.title('Image |
14b40 | 20 31 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 33 2c 20 32 29 5c 6e 70 6c 2e | .1')\n\npl.subplot(2,.3,.2)\npl. |
14b60 | 69 6d 73 68 6f 77 28 49 31 74 29 5c 6e 70 6c 2e 61 78 69 73 28 27 6f 66 66 27 29 5c 6e 70 6c 2e | imshow(I1t)\npl.axis('off')\npl. |
14b80 | 74 69 74 6c 65 28 27 49 6d 61 67 65 20 31 20 41 64 61 70 74 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 | title('Image.1.Adapt')\n\npl.sub |
14ba0 | 70 6c 6f 74 28 32 2c 20 33 2c 20 33 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 74 65 29 5c 6e | plot(2,.3,.3)\npl.imshow(I1te)\n |
14bc0 | 70 6c 2e 61 78 69 73 28 27 6f 66 66 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 | pl.axis('off')\npl.title('Image. |
14be0 | 31 20 41 64 61 70 74 20 28 72 65 67 29 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c | 1.Adapt.(reg)')\n\npl.subplot(2, |
14c00 | 20 33 2c 20 34 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 32 29 5c 6e 70 6c 2e 61 78 69 73 28 27 | .3,.4)\npl.imshow(I2)\npl.axis(' |
14c20 | 6f 66 66 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 32 27 29 5c 6e 5c 6e 70 6c | off')\npl.title('Image.2')\n\npl |
14c40 | 2e 73 75 62 70 6c 6f 74 28 32 2c 20 33 2c 20 35 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 32 74 | .subplot(2,.3,.5)\npl.imshow(I2t |
14c60 | 29 5c 6e 70 6c 2e 61 78 69 73 28 27 6f 66 66 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 | )\npl.axis('off')\npl.title('Ima |
14c80 | 67 65 20 32 20 41 64 61 70 74 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 33 2c | ge.2.Adapt')\n\npl.subplot(2,.3, |
14ca0 | 20 36 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 32 74 65 29 5c 6e 70 6c 2e 61 78 69 73 28 27 6f | .6)\npl.imshow(I2te)\npl.axis('o |
14cc0 | 66 66 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 32 20 41 64 61 70 74 20 28 72 | ff')\npl.title('Image.2.Adapt.(r |
14ce0 | 65 67 29 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 5c 6e 5c 6e 70 6c 2e 73 | eg)')\npl.tight_layout()\n\npl.s |
14d00 | 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 | how()".......],........"outputs" |
14d20 | 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 | :.[],........"metadata":.{...... |
14d40 | 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 | ..."collapsed":.false.......}... |
14d60 | 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b | ..}...],...."metadata":.{....."k |
14d80 | 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d | ernelspec":.{......."display_nam |
14da0 | 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 | e":."Python.2",........"name":." |
14dc0 | 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 | python2",........"language":."py |
14de0 | 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f | thon".....},......"language_info |
14e00 | 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 | ":.{......."mimetype":."text/x-p |
14e20 | 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 | ython",........"nbconvert_export |
14e40 | 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 | er":."python",........"name":."p |
14e60 | 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a | ython",........"file_extension": |
14e80 | 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 | .".py",........"version":."2.7.1 |
14ea0 | 32 22 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 | 2",........"pygments_lexer":."ip |
14ec0 | 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 | ython2",........"codemirror_mode |
14ee0 | 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 | ":.{........."version":.2,...... |
14f00 | 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 | ...."name":."ipython".......}... |
14f20 | 20 20 7d 0a 20 20 7d 0a 7d 50 4b 01 02 14 03 14 00 00 00 00 00 02 84 1e 4b 5d 81 39 dd bc 0c 00 | ..}...}.}PK.............K].9.... |
14f40 | 00 bc 0c 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 b4 81 00 00 00 00 61 75 74 6f 5f 65 78 61 6d | .......................auto_exam |
14f60 | 70 6c 65 73 2f 70 6c 6f 74 5f 57 44 41 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 87 | ples/plot_WDA.ipynbPK........... |
14f80 | 7b 82 49 fa 8c 13 06 e2 10 00 00 e2 10 00 00 25 00 00 00 00 00 00 00 00 00 00 00 b4 81 f6 0c 00 | {.I............%................ |
14fa0 | 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 44 41 5f 6d 61 70 70 69 6e 67 | .auto_examples/plot_OTDA_mapping |
14fc0 | 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 04 84 1e 4b d9 36 2d b4 9c 09 00 00 9c 09 | .ipynbPK.............K.6-....... |
14fe0 | 00 00 24 00 00 00 00 00 00 00 00 00 00 00 b4 81 1b 1e 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 | ..$.................auto_example |
15000 | 73 2f 70 6c 6f 74 5f 6f 70 74 69 6d 5f 4f 54 72 65 67 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 | s/plot_optim_OTreg.ipynbPK...... |
15020 | 00 00 00 00 76 7b 82 49 50 0d 0a 74 03 0e 00 00 03 0e 00 00 25 00 00 00 00 00 00 00 00 00 00 00 | ....v{.IP..t........%........... |
15040 | b4 81 f9 27 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 44 41 5f 63 6c | ...'..auto_examples/plot_OTDA_cl |
15060 | 61 73 73 65 73 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 b7 86 1e 4b 6b 88 21 84 aa | asses.ipynbPK.............Kk.!.. |
15080 | 1d 00 00 aa 1d 00 00 20 00 00 00 00 00 00 00 00 00 00 00 b4 81 3f 36 00 00 61 75 74 6f 5f 65 78 | .....................?6..auto_ex |
150a0 | 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 6f 74 64 61 5f 64 32 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 | amples/plot_otda_d2.ipynbPK..... |
150c0 | 00 00 00 00 00 f4 83 1e 4b 0b 8e f3 56 28 08 00 00 28 08 00 00 1e 00 00 00 00 00 00 00 00 00 00 | ........K...V(...(.............. |
150e0 | 00 b4 81 27 54 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 5f 31 44 2e | ...'T..auto_examples/plot_OT_1D. |
15100 | 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 32 82 e3 4a 48 a2 ab 22 f5 14 00 00 f5 14 00 | ipynbPK..........2..JH.."....... |
15120 | 00 20 00 00 00 00 00 00 00 00 00 00 00 b4 81 8b 5c 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 | ................\..auto_examples |
15140 | 2f 70 6c 6f 74 5f 4f 54 5f 63 6f 6e 76 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 0f | /plot_OT_conv.ipynbPK........... |
15160 | 83 1e 4b 06 87 a7 1b 68 0f 00 00 68 0f 00 00 26 00 00 00 00 00 00 00 00 00 00 00 b4 81 be 71 00 | ..K....h...h...&..............q. |
15180 | 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 62 61 72 79 63 65 6e 74 65 72 5f 31 | .auto_examples/plot_barycenter_1 |
151a0 | 44 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 9c 86 1e 4b f2 bc 11 4b 08 19 00 00 08 | D.ipynbPK.............K...K..... |
151c0 | 19 00 00 25 00 00 00 00 00 00 00 00 00 00 00 b4 81 6a 81 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c | ...%.............j...auto_exampl |
151e0 | 65 73 2f 70 6c 6f 74 5f 6f 74 64 61 5f 63 6c 61 73 73 65 73 2e 69 70 79 6e 62 50 4b 01 02 14 03 | es/plot_otda_classes.ipynbPK.... |
15200 | 14 00 00 00 00 00 0d 88 1e 4b c8 39 53 c8 df 19 00 00 df 19 00 00 33 00 00 00 00 00 00 00 00 00 | .........K.9S.........3......... |
15220 | 00 00 b4 81 b5 9a 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 6f 74 64 61 5f | ........auto_examples/plot_otda_ |
15240 | 6d 61 70 70 69 6e 67 5f 63 6f 6c 6f 72 73 5f 69 6d 61 67 65 73 2e 69 70 79 6e 62 50 4b 01 02 14 | mapping_colors_images.ipynbPK... |
15260 | 03 14 00 00 00 00 00 6a 7b 82 49 bb fd 13 71 39 0a 00 00 39 0a 00 00 2b 00 00 00 00 00 00 00 00 | .......j{.I...q9...9...+........ |
15280 | 00 00 00 b4 81 e5 b4 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 64 65 6d 6f 5f 4f 54 5f 32 | .........auto_examples/demo_OT_2 |
152a0 | 44 5f 73 61 6d 70 6c 65 73 6c 61 72 67 65 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 | D_sampleslarge.ipynbPK.......... |
152c0 | f6 83 1e 4b 31 52 a0 2f b3 0f 00 00 b3 0f 00 00 24 00 00 00 00 00 00 00 00 00 00 00 b4 81 67 bf | ...K1R./........$.............g. |
152e0 | 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 5f 4c 31 5f 76 73 5f 4c 32 | ..auto_examples/plot_OT_L1_vs_L2 |
15300 | 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 a7 85 1e 4b 1c bf a6 e3 bf 0a 00 00 bf 0a | .ipynbPK.............K.......... |
15320 | 00 00 26 00 00 00 00 00 00 00 00 00 00 00 b4 81 5c cf 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 | ..&.............\...auto_example |
15340 | 73 2f 70 6c 6f 74 5f 4f 54 5f 32 44 5f 73 61 6d 70 6c 65 73 2e 69 70 79 6e 62 50 4b 01 02 14 03 | s/plot_OT_2D_samples.ipynbPK.... |
15360 | 14 00 00 00 00 00 75 7b 82 49 55 d4 67 d2 3c 0e 00 00 3c 0e 00 00 20 00 00 00 00 00 00 00 00 00 | ......u{.IU.g.<...<............. |
15380 | 00 00 b4 81 5f da 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 44 41 5f | ...._...auto_examples/plot_OTDA_ |
153a0 | 32 44 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 b8 86 1e 4b 22 97 a9 c7 5d 18 00 00 | 2D.ipynbPK.............K"...]... |
153c0 | 5d 18 00 00 25 00 00 00 00 00 00 00 00 00 00 00 b4 81 d9 e8 00 00 61 75 74 6f 5f 65 78 61 6d 70 | ]...%.................auto_examp |
153e0 | 6c 65 73 2f 70 6c 6f 74 5f 6f 74 64 61 5f 6d 61 70 70 69 6e 67 2e 69 70 79 6e 62 50 4b 01 02 14 | les/plot_otda_mapping.ipynbPK... |
15400 | 03 14 00 00 00 00 00 02 84 1e 4b ee 1f 11 06 c2 0a 00 00 c2 0a 00 00 24 00 00 00 00 00 00 00 00 | ..........K............$........ |
15420 | 00 00 00 b4 81 79 01 01 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 63 6f 6d 70 | .....y...auto_examples/plot_comp |
15440 | 75 74 65 5f 65 6d 64 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 6a 7b 82 49 cd 14 1c | ute_emd.ipynbPK..........j{.I... |
15460 | 01 46 09 00 00 46 09 00 00 23 00 00 00 00 00 00 00 00 00 00 00 b4 81 7d 0c 01 00 61 75 74 6f 5f | .F...F...#.............}...auto_ |
15480 | 65 78 61 6d 70 6c 65 73 2f 64 65 6d 6f 5f 4f 54 5f 31 44 5f 74 65 73 74 2e 69 70 79 6e 62 50 4b | examples/demo_OT_1D_test.ipynbPK |
154a0 | 01 02 14 03 14 00 00 00 00 00 86 7b 82 49 4f 22 f2 c8 74 0e 00 00 74 0e 00 00 2a 00 00 00 00 00 | ...........{.IO"..t...t...*..... |
154c0 | 00 00 00 00 00 00 b4 81 04 16 01 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f | ............auto_examples/plot_O |
154e0 | 54 44 41 5f 63 6f 6c 6f 72 5f 69 6d 61 67 65 73 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 | TDA_color_images.ipynbPK........ |
15500 | 00 00 d7 7b 82 49 c4 9e 28 9b ea 11 00 00 ea 11 00 00 32 00 00 00 00 00 00 00 00 00 00 00 b4 81 | ...{.I..(.........2............. |
15520 | c0 24 01 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 44 41 5f 6d 61 70 70 | .$..auto_examples/plot_OTDA_mapp |
15540 | 69 6e 67 5f 63 6f 6c 6f 72 5f 69 6d 61 67 65 73 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 | ing_color_images.ipynbPK........ |
15560 | 00 00 34 87 1e 4b ea e0 aa 32 e7 17 00 00 e7 17 00 00 2a 00 00 00 00 00 00 00 00 00 00 00 b4 81 | ..4..K...2........*............. |
15580 | fa 36 01 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 6f 74 64 61 5f 63 6f 6c 6f | .6..auto_examples/plot_otda_colo |
155a0 | 72 5f 69 6d 61 67 65 73 2e 69 70 79 6e 62 50 4b 05 06 00 00 00 00 14 00 14 00 85 06 00 00 29 4f | r_images.ipynbPK..............)O |
155c0 | 01 00 00 00 | .... |