ofs | hex dump | ascii |
---|
0000 | 50 4b 03 04 14 00 00 00 00 00 4d 4c be 4c 88 ac 62 ba 81 11 00 00 81 11 00 00 11 00 00 00 70 6c | PK........ML.L..b.............pl |
0020 | 6f 74 5f 67 72 6f 6d 6f 76 2e 69 70 79 6e 62 7b 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 | ot_gromov.ipynb{..."cells":.[... |
0040 | 20 20 7b 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 0a 20 | ..{......."cell_type":."code",.. |
0060 | 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 0a 20 20 | ....."execution_count":.null,... |
0080 | 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 |
00a0 | 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 | psed":.false.......},......."out |
00c0 | 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | puts":.[],......."source":.[.... |
00e0 | 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"....... |
0100 | 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 | ].....},.....{......."cell_type" |
0120 | 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 | :."markdown",......."metadata":. |
0140 | 7b 7d 2c 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 5c | {},......."source":.[........."\ |
0160 | 6e 23 20 47 72 6f 6d 6f 76 2d 57 61 73 73 65 72 73 74 65 69 6e 20 65 78 61 6d 70 6c 65 5c 6e 5c | n#.Gromov-Wasserstein.example\n\ |
0180 | 6e 5c 6e 54 68 69 73 20 65 78 61 6d 70 6c 65 20 69 73 20 64 65 73 69 67 6e 65 64 20 74 6f 20 73 | n\nThis.example.is.designed.to.s |
01a0 | 68 6f 77 20 68 6f 77 20 74 6f 20 75 73 65 20 74 68 65 20 47 72 6f 6d 6f 76 2d 57 61 73 73 65 72 | how.how.to.use.the.Gromov-Wasser |
01c0 | 74 73 65 69 6e 20 64 69 73 74 61 6e 63 65 5c 6e 63 6f 6d 70 75 74 61 74 69 6f 6e 20 69 6e 20 50 | tsein.distance\ncomputation.in.P |
01e0 | 4f 54 2e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 | OT.\n\n".......].....},.....{... |
0200 | 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 | ...."cell_type":."code",......." |
0220 | 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d | execution_count":.null,......."m |
0240 | 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": |
0260 | 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a | .false.......},......."outputs": |
0280 | 20 5b 5d 2c 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 | .[],......."source":.[........." |
02a0 | 23 20 41 75 74 68 6f 72 3a 20 45 72 77 61 6e 20 56 61 75 74 69 65 72 20 3c 65 72 77 61 6e 2e 76 | #.Author:.Erwan.Vautier.<erwan.v |
02c0 | 61 75 74 69 65 72 40 67 6d 61 69 6c 2e 63 6f 6d 3e 5c 6e 23 20 20 20 20 20 20 20 20 20 4e 69 63 | autier@gmail.com>\n#.........Nic |
02e0 | 6f 6c 61 73 20 43 6f 75 72 74 79 20 3c 6e 63 6f 75 72 74 79 40 69 72 69 73 61 2e 66 72 3e 5c 6e | olas.Courty.<ncourty@irisa.fr>\n |
0300 | 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 |
0320 | 6f 72 74 20 73 63 69 70 79 20 61 73 20 73 70 5c 6e 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 73 | ort.scipy.as.sp\nimport.numpy.as |
0340 | 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 20 | .np\nimport.matplotlib.pylab.as. |
0360 | 70 6c 5c 6e 66 72 6f 6d 20 6d 70 6c 5f 74 6f 6f 6c 6b 69 74 73 2e 6d 70 6c 6f 74 33 64 20 69 6d | pl\nfrom.mpl_toolkits.mplot3d.im |
0380 | 70 6f 72 74 20 41 78 65 73 33 44 20 20 23 20 6e 6f 71 61 5c 6e 69 6d 70 6f 72 74 20 6f 74 22 0a | port.Axes3D..#.noqa\nimport.ot". |
03a0 | 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c | ......].....},.....{......."cell |
03c0 | 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 | _type":."markdown",......."metad |
03e0 | 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 | ata":.{},......."source":.[..... |
0400 | 20 20 20 20 22 53 61 6d 70 6c 65 20 74 77 6f 20 47 61 75 73 73 69 61 6e 20 64 69 73 74 72 69 62 | ...."Sample.two.Gaussian.distrib |
0420 | 75 74 69 6f 6e 73 20 28 32 44 20 61 6e 64 20 33 44 29 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | utions.(2D.and.3D)\n------------ |
0440 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
0460 | 2d 5c 6e 5c 6e 54 68 65 20 47 72 6f 6d 6f 76 2d 57 61 73 73 65 72 73 74 65 69 6e 20 64 69 73 74 | -\n\nThe.Gromov-Wasserstein.dist |
0480 | 61 6e 63 65 20 61 6c 6c 6f 77 73 20 74 6f 20 63 6f 6d 70 75 74 65 20 64 69 73 74 61 6e 63 65 73 | ance.allows.to.compute.distances |
04a0 | 20 77 69 74 68 20 73 61 6d 70 6c 65 73 20 74 68 61 74 5c 6e 64 6f 20 6e 6f 74 20 62 65 6c 6f 6e | .with.samples.that\ndo.not.belon |
04c0 | 67 20 74 6f 20 74 68 65 20 73 61 6d 65 20 6d 65 74 72 69 63 20 73 70 61 63 65 2e 20 46 6f 72 20 | g.to.the.same.metric.space..For. |
04e0 | 64 65 6d 6f 6e 73 74 72 61 74 69 6f 6e 20 70 75 72 70 6f 73 65 2c 20 77 65 20 73 61 6d 70 6c 65 | demonstration.purpose,.we.sample |
0500 | 5c 6e 74 77 6f 20 47 61 75 73 73 69 61 6e 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 20 69 6e 20 | \ntwo.Gaussian.distributions.in. |
0520 | 32 2d 20 61 6e 64 20 33 2d 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 73 70 61 63 65 73 2e 5c 6e 5c 6e | 2-.and.3-dimensional.spaces.\n\n |
0540 | 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 | ".......].....},.....{......."ce |
0560 | 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 | ll_type":."code",......."executi |
0580 | 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 | on_count":.null,......."metadata |
05a0 | 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 65 0a | ":.{........."collapsed":.false. |
05c0 | 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 | ......},......."outputs":.[],... |
05e0 | 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 6c | ...."source":.[........."n_sampl |
0600 | 65 73 20 3d 20 33 30 20 20 23 20 6e 62 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 6d 75 5f 73 20 3d 20 | es.=.30..#.nb.samples\n\nmu_s.=. |
0620 | 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 72 72 | np.array([0,.0])\ncov_s.=.np.arr |
0640 | 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 20 6e | ay([[1,.0],.[0,.1]])\n\nmu_t.=.n |
0660 | 70 2e 61 72 72 61 79 28 5b 34 2c 20 34 2c 20 34 5d 29 5c 6e 63 6f 76 5f 74 20 3d 20 6e 70 2e 61 | p.array([4,.4,.4])\ncov_t.=.np.a |
0680 | 72 72 61 79 28 5b 5b 31 2c 20 30 2c 20 30 5d 2c 20 5b 30 2c 20 31 2c 20 30 5d 2c 20 5b 30 2c 20 | rray([[1,.0,.0],.[0,.1,.0],.[0,. |
06a0 | 30 2c 20 31 5d 5d 29 5c 6e 5c 6e 5c 6e 78 73 20 3d 20 6f 74 2e 64 61 74 61 73 65 74 73 2e 6d 61 | 0,.1]])\n\n\nxs.=.ot.datasets.ma |
06c0 | 6b 65 5f 32 44 5f 73 61 6d 70 6c 65 73 5f 67 61 75 73 73 28 6e 5f 73 61 6d 70 6c 65 73 2c 20 6d | ke_2D_samples_gauss(n_samples,.m |
06e0 | 75 5f 73 2c 20 63 6f 76 5f 73 29 5c 6e 50 20 3d 20 73 70 2e 6c 69 6e 61 6c 67 2e 73 71 72 74 6d | u_s,.cov_s)\nP.=.sp.linalg.sqrtm |
0700 | 28 63 6f 76 5f 74 29 5c 6e 78 74 20 3d 20 6e 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 6e 28 6e 5f | (cov_t)\nxt.=.np.random.randn(n_ |
0720 | 73 61 6d 70 6c 65 73 2c 20 33 29 2e 64 6f 74 28 50 29 20 2b 20 6d 75 5f 74 22 0a 20 20 20 20 20 | samples,.3).dot(P).+.mu_t"...... |
0740 | 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 | .].....},.....{......."cell_type |
0760 | 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a | ":."markdown",......."metadata": |
0780 | 20 7b 7d 2c 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 | .{},......."source":.[........." |
07a0 | 50 6c 6f 74 74 69 6e 67 20 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 2d 2d 2d 2d | Plotting.the.distributions\n---- |
07c0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 | ----------------------\n\n"..... |
07e0 | 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 | ..].....},.....{......."cell_typ |
0800 | 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 | e":."code",......."execution_cou |
0820 | 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 | nt":.null,......."metadata":.{.. |
0840 | 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 20 | ......."collapsed":.false....... |
0860 | 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 | },......."outputs":.[],......."s |
0880 | 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 66 69 67 20 3d 20 70 6c 2e 66 69 67 75 | ource":.[........."fig.=.pl.figu |
08a0 | 72 65 28 29 5c 6e 61 78 31 20 3d 20 66 69 67 2e 61 64 64 5f 73 75 62 70 6c 6f 74 28 31 32 31 29 | re()\nax1.=.fig.add_subplot(121) |
08c0 | 5c 6e 61 78 31 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 | \nax1.plot(xs[:,.0],.xs[:,.1],.' |
08e0 | 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 61 78 | +b',.label='Source.samples')\nax |
0900 | 32 20 3d 20 66 69 67 2e 61 64 64 5f 73 75 62 70 6c 6f 74 28 31 32 32 2c 20 70 72 6f 6a 65 63 74 | 2.=.fig.add_subplot(122,.project |
0920 | 69 6f 6e 3d 27 33 64 27 29 5c 6e 61 78 32 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 20 30 5d 2c | ion='3d')\nax2.scatter(xt[:,.0], |
0940 | 20 78 74 5b 3a 2c 20 31 5d 2c 20 78 74 5b 3a 2c 20 32 5d 2c 20 63 6f 6c 6f 72 3d 27 72 27 29 5c | .xt[:,.1],.xt[:,.2],.color='r')\ |
0960 | 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b | npl.show()".......].....},.....{ |
0980 | 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 0a | ......."cell_type":."markdown",. |
09a0 | 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 | ......"metadata":.{},......."sou |
09c0 | 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 70 75 74 65 20 64 69 73 74 61 6e 63 | rce":.[........."Compute.distanc |
09e0 | 65 20 6b 65 72 6e 65 6c 73 2c 20 6e 6f 72 6d 61 6c 69 7a 65 20 74 68 65 6d 20 61 6e 64 20 74 68 | e.kernels,.normalize.them.and.th |
0a00 | 65 6e 20 64 69 73 70 6c 61 79 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | en.display\n-------------------- |
0a20 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
0a40 | 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a | -----\n\n".......].....},.....{. |
0a60 | 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 0a 20 20 20 20 20 | ......"cell_type":."code",...... |
0a80 | 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 0a 20 20 20 20 20 20 | ."execution_count":.null,....... |
0aa0 | 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 |
0ac0 | 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 | ":.false.......},......."outputs |
0ae0 | 22 3a 20 5b 5d 2c 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":.[........ |
0b00 | 20 22 43 31 20 3d 20 73 70 2e 73 70 61 74 69 61 6c 2e 64 69 73 74 61 6e 63 65 2e 63 64 69 73 74 | ."C1.=.sp.spatial.distance.cdist |
0b20 | 28 78 73 2c 20 78 73 29 5c 6e 43 32 20 3d 20 73 70 2e 73 70 61 74 69 61 6c 2e 64 69 73 74 61 6e | (xs,.xs)\nC2.=.sp.spatial.distan |
0b40 | 63 65 2e 63 64 69 73 74 28 78 74 2c 20 78 74 29 5c 6e 5c 6e 43 31 20 2f 3d 20 43 31 2e 6d 61 78 | ce.cdist(xt,.xt)\n\nC1./=.C1.max |
0b60 | 28 29 5c 6e 43 32 20 2f 3d 20 43 32 2e 6d 61 78 28 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 | ()\nC2./=.C2.max()\n\npl.figure( |
0b80 | 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 32 31 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 43 31 | )\npl.subplot(121)\npl.imshow(C1 |
0ba0 | 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 32 32 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 43 32 | )\npl.subplot(122)\npl.imshow(C2 |
0bc0 | 29 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 | )\npl.show()".......].....},.... |
0be0 | 20 7b 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" |
0c00 | 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 | ,......."metadata":.{},......."s |
0c20 | 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 70 75 74 65 20 47 72 6f 6d 6f | ource":.[........."Compute.Gromo |
0c40 | 76 2d 57 61 73 73 65 72 73 74 65 69 6e 20 70 6c 61 6e 73 20 61 6e 64 20 64 69 73 74 61 6e 63 65 | v-Wasserstein.plans.and.distance |
0c60 | 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | \n------------------------------ |
0c80 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 | ---------------\n\n".......].... |
0ca0 | 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f | .},.....{......."cell_type":."co |
0cc0 | 64 65 22 2c 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 | de",......."execution_count":.nu |
0ce0 | 6c 6c 2c 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 | ll,......."metadata":.{......... |
0d00 | 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 2c 0a 20 20 20 20 | "collapsed":.false.......},..... |
0d20 | 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a | .."outputs":.[],......."source": |
0d40 | 20 5b 0a 20 20 20 20 20 20 20 20 22 70 20 3d 20 6f 74 2e 75 6e 69 66 28 6e 5f 73 61 6d 70 6c 65 | .[........."p.=.ot.unif(n_sample |
0d60 | 73 29 5c 6e 71 20 3d 20 6f 74 2e 75 6e 69 66 28 6e 5f 73 61 6d 70 6c 65 73 29 5c 6e 5c 6e 67 77 | s)\nq.=.ot.unif(n_samples)\n\ngw |
0d80 | 30 2c 20 6c 6f 67 30 20 3d 20 6f 74 2e 67 72 6f 6d 6f 76 2e 67 72 6f 6d 6f 76 5f 77 61 73 73 65 | 0,.log0.=.ot.gromov.gromov_wasse |
0da0 | 72 73 74 65 69 6e 28 5c 6e 20 20 20 20 43 31 2c 20 43 32 2c 20 70 2c 20 71 2c 20 27 73 71 75 61 | rstein(\n....C1,.C2,.p,.q,.'squa |
0dc0 | 72 65 5f 6c 6f 73 73 27 2c 20 76 65 72 62 6f 73 65 3d 54 72 75 65 2c 20 6c 6f 67 3d 54 72 75 65 | re_loss',.verbose=True,.log=True |
0de0 | 29 5c 6e 5c 6e 67 77 2c 20 6c 6f 67 20 3d 20 6f 74 2e 67 72 6f 6d 6f 76 2e 65 6e 74 72 6f 70 69 | )\n\ngw,.log.=.ot.gromov.entropi |
0e00 | 63 5f 67 72 6f 6d 6f 76 5f 77 61 73 73 65 72 73 74 65 69 6e 28 5c 6e 20 20 20 20 43 31 2c 20 43 | c_gromov_wasserstein(\n....C1,.C |
0e20 | 32 2c 20 70 2c 20 71 2c 20 27 73 71 75 61 72 65 5f 6c 6f 73 73 27 2c 20 65 70 73 69 6c 6f 6e 3d | 2,.p,.q,.'square_loss',.epsilon= |
0e40 | 35 65 2d 34 2c 20 6c 6f 67 3d 54 72 75 65 2c 20 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 5c | 5e-4,.log=True,.verbose=True)\n\ |
0e60 | 6e 5c 6e 70 72 69 6e 74 28 27 47 72 6f 6d 6f 76 2d 57 61 73 73 65 72 73 74 65 69 6e 20 64 69 73 | n\nprint('Gromov-Wasserstein.dis |
0e80 | 74 61 6e 63 65 73 3a 20 27 20 2b 20 73 74 72 28 6c 6f 67 30 5b 27 67 77 5f 64 69 73 74 27 5d 29 | tances:.'.+.str(log0['gw_dist']) |
0ea0 | 29 5c 6e 70 72 69 6e 74 28 27 45 6e 74 72 6f 70 69 63 20 47 72 6f 6d 6f 76 2d 57 61 73 73 65 72 | )\nprint('Entropic.Gromov-Wasser |
0ec0 | 73 74 65 69 6e 20 64 69 73 74 61 6e 63 65 73 3a 20 27 20 2b 20 73 74 72 28 6c 6f 67 5b 27 67 77 | stein.distances:.'.+.str(log['gw |
0ee0 | 5f 64 69 73 74 27 5d 29 29 5c 6e 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 31 2c 20 28 31 30 2c | _dist']))\n\n\npl.figure(1,.(10, |
0f00 | 20 35 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 | .5))\n\npl.subplot(1,.2,.1)\npl. |
0f20 | 69 6d 73 68 6f 77 28 67 77 30 2c 20 63 6d 61 70 3d 27 6a 65 74 27 29 5c 6e 70 6c 2e 74 69 74 6c | imshow(gw0,.cmap='jet')\npl.titl |
0f40 | 65 28 27 47 72 6f 6d 6f 76 20 57 61 73 73 65 72 73 74 65 69 6e 27 29 5c 6e 5c 6e 70 6c 2e 73 75 | e('Gromov.Wasserstein')\n\npl.su |
0f60 | 62 70 6c 6f 74 28 31 2c 20 32 2c 20 32 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 67 77 2c 20 63 6d | bplot(1,.2,.2)\npl.imshow(gw,.cm |
0f80 | 61 70 3d 27 6a 65 74 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 45 6e 74 72 6f 70 69 63 20 47 72 | ap='jet')\npl.title('Entropic.Gr |
0fa0 | 6f 6d 6f 76 20 57 61 73 73 65 72 73 74 65 69 6e 27 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 | omov.Wasserstein')\n\npl.show()" |
0fc0 | 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 0a 20 20 5d 2c 0a 20 20 22 6d 65 74 61 64 61 74 61 22 | .......].....}...],..."metadata" |
0fe0 | 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 22 64 | :.{....."kernelspec":.{......."d |
1000 | 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 33 22 2c 0a 20 20 20 20 20 20 | isplay_name":."Python.3",....... |
1020 | 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d | "language":."python",......."nam |
1040 | 65 22 3a 20 22 70 79 74 68 6f 6e 33 22 0a 20 20 20 20 7d 2c 0a 20 20 20 20 22 6c 61 6e 67 75 61 | e":."python3".....},....."langua |
1060 | 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f | ge_info":.{......."codemirror_mo |
1080 | 64 65 22 3a 20 7b 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 22 | de":.{........."name":."ipython" |
10a0 | 2c 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 33 0a 20 20 20 20 20 20 7d 2c 0a | ,........."version":.3.......},. |
10c0 | 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 0a 20 | ......"file_extension":.".py",.. |
10e0 | 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 22 | ....."mimetype":."text/x-python" |
1100 | 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 | ,......."name":."python",....... |
1120 | 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 0a | "nbconvert_exporter":."python",. |
1140 | 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 |
1160 | 33 22 2c 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 33 2e 36 2e 35 22 0a 20 20 20 | 3",......."version":."3.6.5".... |
1180 | 20 7d 0a 20 20 7d 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 0a 20 20 22 6e 62 66 6f | .}...},..."nbformat":.4,..."nbfo |
11a0 | 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 0a 7d 50 4b 03 04 14 00 00 00 00 00 a7 6e a2 4c ae 38 | rmat_minor":.0.}PK.........n.L.8 |
11c0 | 61 57 26 14 00 00 26 14 00 00 0e 00 00 00 70 6c 6f 74 5f 57 44 41 2e 69 70 79 6e 62 7b 0a 20 20 | aW&...&.......plot_WDA.ipynb{... |
11e0 | 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 |
1200 | 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":.[.....{...... |
1220 | 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,....... |
1240 | 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 |
1260 | 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 |
1280 | 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": |
12a0 | 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":.{....... |
12c0 | 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.......}.... |
12e0 | 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":.[.... |
1300 | 20 20 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 | ....."\n#.Wasserstein.Discrimina |
1320 | 6e 74 20 41 6e 61 6c 79 73 69 73 5c 6e 5c 6e 5c 6e 54 68 69 73 20 65 78 61 6d 70 6c 65 20 69 6c | nt.Analysis\n\n\nThis.example.il |
1340 | 6c 75 73 74 72 61 74 65 20 74 68 65 20 75 73 65 20 6f 66 20 57 44 41 20 61 73 20 70 72 6f 70 6f | lustrate.the.use.of.WDA.as.propo |
1360 | 73 65 64 20 69 6e 20 5b 31 31 5d 2e 5c 6e 5c 6e 5c 6e 5b 31 31 5d 20 46 6c 61 6d 61 72 79 2c 20 | sed.in.[11].\n\n\n[11].Flamary,. |
1380 | 52 2e 2c 20 43 75 74 75 72 69 2c 20 4d 2e 2c 20 43 6f 75 72 74 79 2c 20 4e 2e 2c 20 26 20 52 61 | R.,.Cuturi,.M.,.Courty,.N.,.&.Ra |
13a0 | 6b 6f 74 6f 6d 61 6d 6f 6e 6a 79 2c 20 41 2e 20 28 32 30 31 36 29 2e 5c 6e 57 61 73 73 65 72 73 | kotomamonjy,.A..(2016).\nWassers |
13c0 | 74 65 69 6e 20 44 69 73 63 72 69 6d 69 6e 61 6e 74 20 41 6e 61 6c 79 73 69 73 2e 5c 6e 5c 6e 5c | tein.Discriminant.Analysis.\n\n\ |
13e0 | 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":. |
1400 | 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":.{ |
1420 | 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 |
1440 | 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 |
1460 | 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":.[... |
1480 | 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 79 20 3c 72 | ......"#.Author:.Remi.Flamary.<r |
14a0 | 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 4c 69 63 65 | emi.flamary@unice.fr>\n#\n#.Lice |
14c0 | 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 6d 70 79 | nse:.MIT.License\n\nimport.numpy |
14e0 | 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 62 20 | .as.np\nimport.matplotlib.pylab. |
1500 | 61 73 20 70 6c 5c 6e 5c 6e 66 72 6f 6d 20 6f 74 2e 64 72 20 69 6d 70 6f 72 74 20 77 64 61 2c 20 | as.pl\n\nfrom.ot.dr.import.wda,. |
1520 | 66 64 61 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 | fda".......],........"outputs":. |
1540 | 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":.{........ |
1560 | 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.......}..... |
1580 | 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":.[..... |
15a0 | 20 20 20 20 22 47 65 6e 65 72 61 74 65 20 64 61 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ...."Generate.data\n------------ |
15c0 | 2d 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 |
15e0 | 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 |
1600 | 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 |
1620 | 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_ |
1640 | 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":. |
1660 | 5b 0a 20 20 20 20 20 20 20 20 22 23 25 25 20 70 61 72 61 6d 65 74 65 72 73 5c 6e 5c 6e 6e 20 3d | [........."#%%.parameters\n\nn.= |
1680 | 20 31 30 30 30 20 20 23 20 6e 62 20 73 61 6d 70 6c 65 73 20 69 6e 20 73 6f 75 72 63 65 20 61 6e | .1000..#.nb.samples.in.source.an |
16a0 | 64 20 74 61 72 67 65 74 20 64 61 74 61 73 65 74 73 5c 6e 6e 7a 20 3d 20 30 2e 32 5c 6e 5c 6e 23 | d.target.datasets\nnz.=.0.2\n\n# |
16c0 | 20 67 65 6e 65 72 61 74 65 20 63 69 72 63 6c 65 20 64 61 74 61 73 65 74 5c 6e 74 20 3d 20 6e 70 | .generate.circle.dataset\nt.=.np |
16e0 | 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 28 6e 29 20 2a 20 32 20 2a 20 6e 70 2e 70 69 5c 6e 79 73 20 | .random.rand(n).*.2.*.np.pi\nys. |
1700 | 3d 20 6e 70 2e 66 6c 6f 6f 72 28 28 6e 70 2e 61 72 61 6e 67 65 28 6e 29 20 2a 20 31 2e 30 20 2f | =.np.floor((np.arange(n).*.1.0./ |
1720 | 20 6e 20 2a 20 33 29 29 20 2b 20 31 5c 6e 78 73 20 3d 20 6e 70 2e 63 6f 6e 63 61 74 65 6e 61 74 | .n.*.3)).+.1\nxs.=.np.concatenat |
1740 | 65 28 5c 6e 20 20 20 20 28 6e 70 2e 63 6f 73 28 74 29 2e 72 65 73 68 61 70 65 28 28 2d 31 2c 20 | e(\n....(np.cos(t).reshape((-1,. |
1760 | 31 29 29 2c 20 6e 70 2e 73 69 6e 28 74 29 2e 72 65 73 68 61 70 65 28 28 2d 31 2c 20 31 29 29 29 | 1)),.np.sin(t).reshape((-1,.1))) |
1780 | 2c 20 31 29 5c 6e 78 73 20 3d 20 78 73 20 2a 20 79 73 2e 72 65 73 68 61 70 65 28 2d 31 2c 20 31 | ,.1)\nxs.=.xs.*.ys.reshape(-1,.1 |
17a0 | 29 20 2b 20 6e 7a 20 2a 20 6e 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 6e 28 6e 2c 20 32 29 5c 6e | ).+.nz.*.np.random.randn(n,.2)\n |
17c0 | 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 32 20 2a 20 6e 70 | \nt.=.np.random.rand(n).*.2.*.np |
17e0 | 2e 70 69 5c 6e 79 74 20 3d 20 6e 70 2e 66 6c 6f 6f 72 28 28 6e 70 2e 61 72 61 6e 67 65 28 6e 29 | .pi\nyt.=.np.floor((np.arange(n) |
1800 | 20 2a 20 31 2e 30 20 2f 20 6e 20 2a 20 33 29 29 20 2b 20 31 5c 6e 78 74 20 3d 20 6e 70 2e 63 6f | .*.1.0./.n.*.3)).+.1\nxt.=.np.co |
1820 | 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 2e 72 65 73 68 61 | ncatenate(\n....(np.cos(t).resha |
1840 | 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 68 61 70 65 28 28 | pe((-1,.1)),.np.sin(t).reshape(( |
1860 | 2d 31 2c 20 31 29 29 29 2c 20 31 29 5c 6e 78 74 20 3d 20 78 74 20 2a 20 79 74 2e 72 65 73 68 61 | -1,.1))),.1)\nxt.=.xt.*.yt.resha |
1880 | 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 2e 72 61 6e 64 6e | pe(-1,.1).+.nz.*.np.random.randn |
18a0 | 28 6e 2c 20 32 29 5c 6e 5c 6e 6e 62 6e 6f 69 73 65 20 3d 20 38 5c 6e 5c 6e 78 73 20 3d 20 6e 70 | (n,.2)\n\nnbnoise.=.8\n\nxs.=.np |
18c0 | 2e 68 73 74 61 63 6b 28 28 78 73 2c 20 6e 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 6e 28 6e 2c 20 | .hstack((xs,.np.random.randn(n,. |
18e0 | 6e 62 6e 6f 69 73 65 29 29 29 5c 6e 78 74 20 3d 20 6e 70 2e 68 73 74 61 63 6b 28 28 78 74 2c 20 | nbnoise)))\nxt.=.np.hstack((xt,. |
1900 | 6e 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 6e 28 6e 2c 20 6e 62 6e 6f 69 73 65 29 29 29 22 0a 20 | np.random.randn(n,.nbnoise)))".. |
1920 | 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 20 0a 20 | .....],........"outputs":.[],... |
1940 | 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 6f 6c 6c | ....."metadata":.{........."coll |
1960 | 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 0a 20 20 | apsed":.false.......}.....},.... |
1980 | 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 20 22 50 | ..{......."source":.[........."P |
19a0 | 6c 6f 74 20 64 61 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d | lot.data\n---------\n\n".......] |
19c0 | 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" |
19e0 | 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":.{}.....},.. |
1a00 | 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 |
1a20 | 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", |
1a40 | 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 25 25 | ........"source":.[........."#%% |
1a60 | 20 70 6c 6f 74 20 73 61 6d 70 6c 65 73 5c 6e 70 6c 2e 66 69 67 75 72 65 28 31 2c 20 66 69 67 73 | .plot.samples\npl.figure(1,.figs |
1a80 | 69 7a 65 3d 28 36 2e 34 2c 20 33 2e 35 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c | ize=(6.4,.3.5))\n\npl.subplot(1, |
1aa0 | 20 32 2c 20 31 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 20 30 5d 2c 20 78 74 5b | .2,.1)\npl.scatter(xt[:,.0],.xt[ |
1ac0 | 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 65 6c 3d 27 | :,.1],.c=ys,.marker='+',.label=' |
1ae0 | 53 6f 75 72 63 65 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 | Source.samples')\npl.legend(loc= |
1b00 | 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 44 69 73 63 72 69 6d 69 6e 61 6e 74 20 64 69 6d 65 6e | 0)\npl.title('Discriminant.dimen |
1b20 | 73 69 6f 6e 73 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 | sions')\n\npl.subplot(1,.2,.2)\n |
1b40 | 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 20 32 5d 2c 20 78 74 5b 3a 2c 20 33 5d 2c 20 63 | pl.scatter(xt[:,.2],.xt[:,.3],.c |
1b60 | 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 20 73 | =ys,.marker='+',.label='Source.s |
1b80 | 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 74 | amples')\npl.legend(loc=0)\npl.t |
1ba0 | 69 74 6c 65 28 27 4f 74 68 65 72 20 64 69 6d 65 6e 73 69 6f 6e 73 27 29 5c 6e 70 6c 2e 74 69 67 | itle('Other.dimensions')\npl.tig |
1bc0 | 68 74 5f 6c 61 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 | ht_layout()".......],........"ou |
1be0 | 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":.{ |
1c00 | 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..... |
1c20 | 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" |
1c40 | 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 70 75 74 65 20 46 69 73 68 65 72 20 44 69 73 63 | :.[........."Compute.Fisher.Disc |
1c60 | 72 69 6d 69 6e 61 6e 74 20 41 6e 61 6c 79 73 69 73 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | riminant.Analysis\n------------- |
1c80 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 | -----------------------\n\n".... |
1ca0 | 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 |
1cc0 | 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":.{}..... |
1ce0 | 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 |
1d00 | 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 |
1d20 | 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":.[......... |
1d40 | 22 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 | "#%%.Compute.FDA\np.=.2\n\nPfda, |
1d60 | 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 22 0a 20 20 20 20 20 | .projfda.=.fda(xs,.ys,.p)"...... |
1d80 | 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":.[],....... |
1da0 | 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 |
1dc0 | 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 0a | d":.false.......}.....},......{. |
1de0 | 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 43 6f 6d 70 75 | ......"source":.[........."Compu |
1e00 | 74 65 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 20 41 6e 61 6c | te.Wasserstein.Discriminant.Anal |
1e20 | 79 73 69 73 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ysis\n-------------------------- |
1e40 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 | ---------------\n\n".......],... |
1e60 | 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",... |
1e80 | 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":.{}.....},...... |
1ea0 | 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, |
1ec0 | 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",.... |
1ee0 | 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 25 25 20 43 6f 6d | ...."source":.[........."#%%.Com |
1f00 | 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 6b 20 3d 20 | pute.WDA\np.=.2\nreg.=.1e0\nk.=. |
1f20 | 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 72 6f 6a 77 | 10\nmaxiter.=.100\n\nPwda,.projw |
1f40 | 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 6d 61 78 69 | da.=.wda(xs,.ys,.p,.reg,.k,.maxi |
1f60 | 74 65 72 3d 6d 61 78 69 74 65 72 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f | ter=maxiter)".......],........"o |
1f80 | 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":. |
1fa0 | 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.... |
1fc0 | 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 |
1fe0 | 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 6c 6f 74 20 32 44 20 70 72 6f 6a 65 63 74 69 6f 6e | ":.[........."Plot.2D.projection |
2000 | 73 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 | s\n-------------------\n\n"..... |
2020 | 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 |
2040 | 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":.{}.....} |
2060 | 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" |
2080 | 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 |
20a0 | 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":.[........." |
20c0 | 23 25 25 20 70 6c 6f 74 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 78 73 70 20 3d 20 70 72 6f 6a 66 64 | #%%.plot.samples\n\nxsp.=.projfd |
20e0 | 61 28 78 73 29 5c 6e 78 74 70 20 3d 20 70 72 6f 6a 66 64 61 28 78 74 29 5c 6e 5c 6e 78 73 70 77 | a(xs)\nxtp.=.projfda(xt)\n\nxspw |
2100 | 20 3d 20 70 72 6f 6a 77 64 61 28 78 73 29 5c 6e 78 74 70 77 20 3d 20 70 72 6f 6a 77 64 61 28 78 | .=.projwda(xs)\nxtpw.=.projwda(x |
2120 | 74 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 | t)\n\npl.figure(2)\n\npl.subplot |
2140 | 28 32 2c 20 32 2c 20 31 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 70 5b 3a 2c 20 30 5d 2c | (2,.2,.1)\npl.scatter(xsp[:,.0], |
2160 | 20 78 73 70 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 | .xsp[:,.1],.c=ys,.marker='+',.la |
2180 | 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 |
21a0 | 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. |
21c0 | 74 72 61 69 6e 69 6e 67 20 73 61 6d 70 6c 65 73 20 46 44 41 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 | training.samples.FDA')\n\npl.sub |
21e0 | 70 6c 6f 74 28 32 2c 20 32 2c 20 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 70 5b 3a 2c | plot(2,.2,.2)\npl.scatter(xtp[:, |
2200 | 20 30 5d 2c 20 78 74 70 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c 20 6d 61 72 6b 65 72 3d 27 2b 27 | .0],.xtp[:,.1],.c=ys,.marker='+' |
2220 | 2c 20 6c 61 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 | ,.label='Projected.samples')\npl |
2240 | 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 50 72 6f 6a 65 63 | .legend(loc=0)\npl.title('Projec |
2260 | 74 65 64 20 74 65 73 74 20 73 61 6d 70 6c 65 73 20 46 44 41 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 | ted.test.samples.FDA')\n\npl.sub |
2280 | 70 6c 6f 74 28 32 2c 20 32 2c 20 33 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 70 77 5b 3a | plot(2,.2,.3)\npl.scatter(xspw[: |
22a0 | 2c 20 30 5d 2c 20 78 73 70 77 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c 20 6d 61 72 6b 65 72 3d 27 | ,.0],.xspw[:,.1],.c=ys,.marker=' |
22c0 | 2b 27 2c 20 6c 61 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 | +',.label='Projected.samples')\n |
22e0 | 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 50 72 6f 6a | pl.legend(loc=0)\npl.title('Proj |
2300 | 65 63 74 65 64 20 74 72 61 69 6e 69 6e 67 20 73 61 6d 70 6c 65 73 20 57 44 41 27 29 5c 6e 5c 6e | ected.training.samples.WDA')\n\n |
2320 | 70 6c 2e 73 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 | pl.subplot(2,.2,.4)\npl.scatter( |
2340 | 78 74 70 77 5b 3a 2c 20 30 5d 2c 20 78 74 70 77 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c 20 6d 61 | xtpw[:,.0],.xtpw[:,.1],.c=ys,.ma |
2360 | 72 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 50 72 6f 6a 65 63 74 65 64 20 73 61 6d 70 6c | rker='+',.label='Projected.sampl |
2380 | 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 74 69 74 6c 65 | es')\npl.legend(loc=0)\npl.title |
23a0 | 28 27 50 72 6f 6a 65 63 74 65 64 20 74 65 73 74 20 73 61 6d 70 6c 65 73 20 57 44 41 27 29 5c 6e | ('Projected.test.samples.WDA')\n |
23c0 | 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 29 22 0a | pl.tight_layout()\n\npl.show()". |
23e0 | 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 20 0a | ......],........"outputs":.[],.. |
2400 | 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 6f 6c | ......"metadata":.{........."col |
2420 | 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 20 5d | lapsed":.false.......}.....}...] |
2440 | 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 73 70 | ,...."metadata":.{....."kernelsp |
2460 | 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 50 79 | ec":.{......."display_name":."Py |
2480 | 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 6e 32 | thon.2",........"name":."python2 |
24a0 | 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 0a 20 | ",........"language":."python".. |
24c0 | 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 20 20 | ...},......"language_info":.{... |
24e0 | 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 22 2c | ...."mimetype":."text/x-python", |
2500 | 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 22 70 | ........"nbconvert_exporter":."p |
2520 | 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 22 2c | ython",........"name":."python", |
2540 | 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 22 2c | ........"file_extension":.".py", |
2560 | 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 20 20 | ........"version":."2.7.12",.... |
2580 | 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 32 22 | ...."pygments_lexer":."ipython2" |
25a0 | 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 20 20 | ,........"codemirror_mode":.{... |
25c0 | 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 6e 61 | ......"version":.2,.........."na |
25e0 | 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 20 7d | me":."ipython".......}.....}...} |
2600 | 0a 7d 50 4b 03 04 14 00 00 00 00 00 18 7f a2 4c aa d3 d6 af 27 23 00 00 27 23 00 00 1c 00 00 00 | .}PK...........L....'#..'#...... |
2620 | 70 6c 6f 74 5f 67 72 6f 6d 6f 76 5f 62 61 72 79 63 65 6e 74 65 72 2e 69 70 79 6e 62 7b 0a 20 20 | plot_gromov_barycenter.ipynb{... |
2640 | 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 78 65 63 75 74 69 6f | "cells":.[.....{......."executio |
2660 | 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 | n_count":.null,......."metadata" |
2680 | 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.. |
26a0 | 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 | .....},......."outputs":.[],.... |
26c0 | 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 |
26e0 | 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 0a 20 20 20 20 20 20 22 63 65 6c 6c | lib.inline".......],......."cell |
2700 | 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 | _type":."code".....},.....{..... |
2720 | 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 | .."metadata":.{},......."source" |
2740 | 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 23 20 47 72 6f 6d 6f 76 2d 57 61 73 73 65 72 73 74 | :.[........."\n#.Gromov-Wasserst |
2760 | 65 69 6e 20 42 61 72 79 63 65 6e 74 65 72 20 65 78 61 6d 70 6c 65 5c 6e 5c 6e 5c 6e 54 68 69 73 | ein.Barycenter.example\n\n\nThis |
2780 | 20 65 78 61 6d 70 6c 65 20 69 73 20 64 65 73 69 67 6e 65 64 20 74 6f 20 73 68 6f 77 20 68 6f 77 | .example.is.designed.to.show.how |
27a0 | 20 74 6f 20 75 73 65 20 74 68 65 20 47 72 6f 6d 6f 76 2d 57 61 73 73 65 72 73 74 65 69 6e 20 64 | .to.use.the.Gromov-Wasserstein.d |
27c0 | 69 73 74 61 6e 63 65 5c 6e 63 6f 6d 70 75 74 61 74 69 6f 6e 20 69 6e 20 50 4f 54 2e 5c 6e 5c 6e | istance\ncomputation.in.POT.\n\n |
27e0 | 22 0a 20 20 20 20 20 20 5d 2c 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 |
2800 | 61 72 6b 64 6f 77 6e 22 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 | arkdown".....},.....{......."exe |
2820 | 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 | cution_count":.null,......."meta |
2840 | 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 |
2860 | 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d | lse.......},......."outputs":.[] |
2880 | 2c 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 |
28a0 | 75 74 68 6f 72 3a 20 45 72 77 61 6e 20 56 61 75 74 69 65 72 20 3c 65 72 77 61 6e 2e 76 61 75 74 | uthor:.Erwan.Vautier.<erwan.vaut |
28c0 | 69 65 72 40 67 6d 61 69 6c 2e 63 6f 6d 3e 5c 6e 23 20 20 20 20 20 20 20 20 20 4e 69 63 6f 6c 61 | ier@gmail.com>\n#.........Nicola |
28e0 | 73 20 43 6f 75 72 74 79 20 3c 6e 63 6f 75 72 74 79 40 69 72 69 73 61 2e 66 72 3e 5c 6e 23 5c 6e | s.Courty.<ncourty@irisa.fr>\n#\n |
2900 | 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 5c 6e 69 6d 70 6f | #.License:.MIT.License\n\n\nimpo |
2920 | 72 74 20 6e 75 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 73 63 69 70 79 20 61 73 20 | rt.numpy.as.np\nimport.scipy.as. |
2940 | 73 70 5c 6e 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 | sp\n\nimport.scipy.ndimage.as.sp |
2960 | 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 |
2980 | 5c 6e 66 72 6f 6d 20 73 6b 6c 65 61 72 6e 20 69 6d 70 6f 72 74 20 6d 61 6e 69 66 6f 6c 64 5c 6e | \nfrom.sklearn.import.manifold\n |
29a0 | 66 72 6f 6d 20 73 6b 6c 65 61 72 6e 2e 64 65 63 6f 6d 70 6f 73 69 74 69 6f 6e 20 69 6d 70 6f 72 | from.sklearn.decomposition.impor |
29c0 | 74 20 50 43 41 5c 6e 5c 6e 69 6d 70 6f 72 74 20 6f 74 22 0a 20 20 20 20 20 20 5d 2c 0a 20 20 20 | t.PCA\n\nimport.ot".......],.... |
29e0 | 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 0a 20 20 20 20 7d 2c 0a 20 20 | ..."cell_type":."code".....},... |
2a00 | 20 20 7b 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 | ..{......."metadata":.{},....... |
2a20 | 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 6d 61 63 6f 66 20 4d 44 53 5c | "source":.[........."Smacof.MDS\ |
2a40 | 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 6c 6c | n----------\n\nThis.function.all |
2a60 | 6f 77 73 20 74 6f 20 66 69 6e 64 20 61 6e 20 65 6d 62 65 64 64 69 6e 67 20 6f 66 20 70 6f 69 6e | ows.to.find.an.embedding.of.poin |
2a80 | 74 73 20 67 69 76 65 6e 20 61 20 64 69 73 73 69 6d 69 6c 61 72 69 74 79 20 6d 61 74 72 69 78 5c | ts.given.a.dissimilarity.matrix\ |
2aa0 | 6e 74 68 61 74 20 77 69 6c 6c 20 62 65 20 67 69 76 65 6e 20 62 79 20 74 68 65 20 6f 75 74 70 75 | nthat.will.be.given.by.the.outpu |
2ac0 | 74 20 6f 66 20 74 68 65 20 61 6c 67 6f 72 69 74 68 6d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c | t.of.the.algorithm\n\n".......], |
2ae0 | 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 0a 20 | ......."cell_type":."markdown".. |
2b00 | 20 20 20 7d 2c 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 |
2b20 | 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 | nt":.null,......."metadata":.{.. |
2b40 | 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 20 | ......."collapsed":.false....... |
2b60 | 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 | },......."outputs":.[],......."s |
2b80 | 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 64 65 66 20 73 6d 61 63 6f 66 5f 6d 64 | ource":.[........."def.smacof_md |
2ba0 | 73 28 43 2c 20 64 69 6d 2c 20 6d 61 78 5f 69 74 65 72 3d 33 30 30 30 2c 20 65 70 73 3d 31 65 2d | s(C,.dim,.max_iter=3000,.eps=1e- |
2bc0 | 39 29 3a 5c 6e 20 20 20 20 5c 22 5c 22 5c 22 5c 6e 20 20 20 20 52 65 74 75 72 6e 73 20 61 6e 20 | 9):\n....\"\"\"\n....Returns.an. |
2be0 | 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 70 6f 69 6e 74 20 63 6c 6f 75 64 20 66 6f 6c 6c 6f 77 69 | interpolated.point.cloud.followi |
2c00 | 6e 67 20 74 68 65 20 64 69 73 73 69 6d 69 6c 61 72 69 74 79 20 6d 61 74 72 69 78 20 43 5c 6e 20 | ng.the.dissimilarity.matrix.C\n. |
2c20 | 20 20 20 75 73 69 6e 67 20 53 4d 41 43 4f 46 20 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c | ...using.SMACOF.multidimensional |
2c40 | 20 73 63 61 6c 69 6e 67 20 28 4d 44 53 29 20 69 6e 20 73 70 65 63 69 66 69 63 20 64 69 6d 65 6e | .scaling.(MDS).in.specific.dimen |
2c60 | 73 69 6f 6e 6e 65 64 5c 6e 20 20 20 20 74 61 72 67 65 74 20 73 70 61 63 65 5c 6e 5c 6e 20 20 20 | sionned\n....target.space\n\n... |
2c80 | 20 50 61 72 61 6d 65 74 65 72 73 5c 6e 20 20 20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 20 20 20 | .Parameters\n....----------\n... |
2ca0 | 20 43 20 3a 20 6e 64 61 72 72 61 79 2c 20 73 68 61 70 65 20 28 6e 73 2c 20 6e 73 29 5c 6e 20 20 | .C.:.ndarray,.shape.(ns,.ns)\n.. |
2cc0 | 20 20 20 20 20 20 64 69 73 73 69 6d 69 6c 61 72 69 74 79 20 6d 61 74 72 69 78 5c 6e 20 20 20 20 | ......dissimilarity.matrix\n.... |
2ce0 | 64 69 6d 20 3a 20 69 6e 74 5c 6e 20 20 20 20 20 20 20 20 20 20 64 69 6d 65 6e 73 69 6f 6e 20 6f | dim.:.int\n..........dimension.o |
2d00 | 66 20 74 68 65 20 74 61 72 67 65 74 65 64 20 73 70 61 63 65 5c 6e 20 20 20 20 6d 61 78 5f 69 74 | f.the.targeted.space\n....max_it |
2d20 | 65 72 20 3a 20 20 69 6e 74 5c 6e 20 20 20 20 20 20 20 20 4d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 | er.:..int\n........Maximum.numbe |
2d40 | 72 20 6f 66 20 69 74 65 72 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 4d 41 43 4f 46 20 61 6c | r.of.iterations.of.the.SMACOF.al |
2d60 | 67 6f 72 69 74 68 6d 20 66 6f 72 20 61 20 73 69 6e 67 6c 65 20 72 75 6e 5c 6e 20 20 20 20 65 70 | gorithm.for.a.single.run\n....ep |
2d80 | 73 20 3a 20 66 6c 6f 61 74 5c 6e 20 20 20 20 20 20 20 20 72 65 6c 61 74 69 76 65 20 74 6f 6c 65 | s.:.float\n........relative.tole |
2da0 | 72 61 6e 63 65 20 77 2e 72 2e 74 20 73 74 72 65 73 73 20 74 6f 20 64 65 63 6c 61 72 65 20 63 6f | rance.w.r.t.stress.to.declare.co |
2dc0 | 6e 76 65 72 67 65 5c 6e 5c 6e 20 20 20 20 52 65 74 75 72 6e 73 5c 6e 20 20 20 20 2d 2d 2d 2d 2d | nverge\n\n....Returns\n....----- |
2de0 | 2d 2d 5c 6e 20 20 20 20 6e 70 6f 73 20 3a 20 6e 64 61 72 72 61 79 2c 20 73 68 61 70 65 20 28 52 | --\n....npos.:.ndarray,.shape.(R |
2e00 | 2c 20 64 69 6d 29 5c 6e 20 20 20 20 20 20 20 20 20 20 20 45 6d 62 65 64 64 65 64 20 63 6f 6f 72 | ,.dim)\n...........Embedded.coor |
2e20 | 64 69 6e 61 74 65 73 20 6f 66 20 74 68 65 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 70 6f 69 6e | dinates.of.the.interpolated.poin |
2e40 | 74 20 63 6c 6f 75 64 20 28 64 65 66 69 6e 65 64 20 77 69 74 68 5c 6e 20 20 20 20 20 20 20 20 20 | t.cloud.(defined.with\n......... |
2e60 | 20 20 6f 6e 65 20 69 73 6f 6d 65 74 72 79 29 5c 6e 20 20 20 20 5c 22 5c 22 5c 22 5c 6e 5c 6e 20 | ..one.isometry)\n....\"\"\"\n\n. |
2e80 | 20 20 20 72 6e 67 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 73 | ...rng.=.np.random.RandomState(s |
2ea0 | 65 65 64 3d 33 29 5c 6e 5c 6e 20 20 20 20 6d 64 73 20 3d 20 6d 61 6e 69 66 6f 6c 64 2e 4d 44 53 | eed=3)\n\n....mds.=.manifold.MDS |
2ec0 | 28 5c 6e 20 20 20 20 20 20 20 20 64 69 6d 2c 5c 6e 20 20 20 20 20 20 20 20 6d 61 78 5f 69 74 65 | (\n........dim,\n........max_ite |
2ee0 | 72 3d 6d 61 78 5f 69 74 65 72 2c 5c 6e 20 20 20 20 20 20 20 20 65 70 73 3d 31 65 2d 39 2c 5c 6e | r=max_iter,\n........eps=1e-9,\n |
2f00 | 20 20 20 20 20 20 20 20 64 69 73 73 69 6d 69 6c 61 72 69 74 79 3d 27 70 72 65 63 6f 6d 70 75 74 | ........dissimilarity='precomput |
2f20 | 65 64 27 2c 5c 6e 20 20 20 20 20 20 20 20 6e 5f 69 6e 69 74 3d 31 29 5c 6e 20 20 20 20 70 6f 73 | ed',\n........n_init=1)\n....pos |
2f40 | 20 3d 20 6d 64 73 2e 66 69 74 28 43 29 2e 65 6d 62 65 64 64 69 6e 67 5f 5c 6e 5c 6e 20 20 20 20 | .=.mds.fit(C).embedding_\n\n.... |
2f60 | 6e 6d 64 73 20 3d 20 6d 61 6e 69 66 6f 6c 64 2e 4d 44 53 28 5c 6e 20 20 20 20 20 20 20 20 32 2c | nmds.=.manifold.MDS(\n........2, |
2f80 | 5c 6e 20 20 20 20 20 20 20 20 6d 61 78 5f 69 74 65 72 3d 6d 61 78 5f 69 74 65 72 2c 5c 6e 20 20 | \n........max_iter=max_iter,\n.. |
2fa0 | 20 20 20 20 20 20 65 70 73 3d 31 65 2d 39 2c 5c 6e 20 20 20 20 20 20 20 20 64 69 73 73 69 6d 69 | ......eps=1e-9,\n........dissimi |
2fc0 | 6c 61 72 69 74 79 3d 5c 22 70 72 65 63 6f 6d 70 75 74 65 64 5c 22 2c 5c 6e 20 20 20 20 20 20 20 | larity=\"precomputed\",\n....... |
2fe0 | 20 72 61 6e 64 6f 6d 5f 73 74 61 74 65 3d 72 6e 67 2c 5c 6e 20 20 20 20 20 20 20 20 6e 5f 69 6e | .random_state=rng,\n........n_in |
3000 | 69 74 3d 31 29 5c 6e 20 20 20 20 6e 70 6f 73 20 3d 20 6e 6d 64 73 2e 66 69 74 5f 74 72 61 6e 73 | it=1)\n....npos.=.nmds.fit_trans |
3020 | 66 6f 72 6d 28 43 2c 20 69 6e 69 74 3d 70 6f 73 29 5c 6e 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 | form(C,.init=pos)\n\n....return. |
3040 | 6e 70 6f 73 22 0a 20 20 20 20 20 20 5d 2c 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 | npos".......],......."cell_type" |
3060 | 3a 20 22 63 6f 64 65 22 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 6d 65 74 | :."code".....},.....{......."met |
3080 | 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 | adata":.{},......."source":.[... |
30a0 | 20 20 20 20 20 20 22 44 61 74 61 20 70 72 65 70 61 72 61 74 69 6f 6e 5c 6e 2d 2d 2d 2d 2d 2d 2d | ......"Data.preparation\n------- |
30c0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 54 68 65 20 66 6f 75 72 20 64 69 73 74 72 69 62 75 74 69 | ---------\n\nThe.four.distributi |
30e0 | 6f 6e 73 20 61 72 65 20 63 6f 6e 73 74 72 75 63 74 65 64 20 66 72 6f 6d 20 34 20 73 69 6d 70 6c | ons.are.constructed.from.4.simpl |
3100 | 65 20 69 6d 61 67 65 73 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 0a 20 20 20 20 20 20 22 63 65 | e.images\n\n".......],......."ce |
3120 | 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 0a 20 20 20 20 7d 2c 0a 20 20 20 20 | ll_type":."markdown".....},..... |
3140 | 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, |
3160 | 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 6f | ......."metadata":.{........."co |
3180 | 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 | llapsed":.false.......},......." |
31a0 | 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a | outputs":.[],......."source":.[. |
31c0 | 20 20 20 20 20 20 20 20 22 64 65 66 20 69 6d 32 6d 61 74 28 49 29 3a 5c 6e 20 20 20 20 5c 22 5c | ........"def.im2mat(I):\n....\"\ |
31e0 | 22 5c 22 43 6f 6e 76 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 | "\"Converts.and.image.to.matrix. |
3200 | 28 6f 6e 65 20 70 69 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 | (one.pixel.per.line)\"\"\"\n.... |
3220 | 72 65 74 75 72 6e 20 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 | return.I.reshape((I.shape[0].*.I |
3240 | 2e 73 68 61 70 65 5b 31 5d 2c 20 49 2e 73 68 61 70 65 5b 32 5d 29 29 5c 6e 5c 6e 5c 6e 73 71 75 | .shape[1],.I.shape[2]))\n\n\nsqu |
3260 | 61 72 65 20 3d 20 73 70 69 2e 69 6d 72 65 61 64 28 27 2e 2e 2f 64 61 74 61 2f 73 71 75 61 72 65 | are.=.spi.imread('../data/square |
3280 | 2e 70 6e 67 27 29 2e 61 73 74 79 70 65 28 6e 70 2e 66 6c 6f 61 74 36 34 29 5b 3a 2c 20 3a 2c 20 | .png').astype(np.float64)[:,.:,. |
32a0 | 32 5d 20 2f 20 32 35 36 5c 6e 63 72 6f 73 73 20 3d 20 73 70 69 2e 69 6d 72 65 61 64 28 27 2e 2e | 2]./.256\ncross.=.spi.imread('.. |
32c0 | 2f 64 61 74 61 2f 63 72 6f 73 73 2e 70 6e 67 27 29 2e 61 73 74 79 70 65 28 6e 70 2e 66 6c 6f 61 | /data/cross.png').astype(np.floa |
32e0 | 74 36 34 29 5b 3a 2c 20 3a 2c 20 32 5d 20 2f 20 32 35 36 5c 6e 74 72 69 61 6e 67 6c 65 20 3d 20 | t64)[:,.:,.2]./.256\ntriangle.=. |
3300 | 73 70 69 2e 69 6d 72 65 61 64 28 27 2e 2e 2f 64 61 74 61 2f 74 72 69 61 6e 67 6c 65 2e 70 6e 67 | spi.imread('../data/triangle.png |
3320 | 27 29 2e 61 73 74 79 70 65 28 6e 70 2e 66 6c 6f 61 74 36 34 29 5b 3a 2c 20 3a 2c 20 32 5d 20 2f | ').astype(np.float64)[:,.:,.2]./ |
3340 | 20 32 35 36 5c 6e 73 74 61 72 20 3d 20 73 70 69 2e 69 6d 72 65 61 64 28 27 2e 2e 2f 64 61 74 61 | .256\nstar.=.spi.imread('../data |
3360 | 2f 73 74 61 72 2e 70 6e 67 27 29 2e 61 73 74 79 70 65 28 6e 70 2e 66 6c 6f 61 74 36 34 29 5b 3a | /star.png').astype(np.float64)[: |
3380 | 2c 20 3a 2c 20 32 5d 20 2f 20 32 35 36 5c 6e 5c 6e 73 68 61 70 65 73 20 3d 20 5b 73 71 75 61 72 | ,.:,.2]./.256\n\nshapes.=.[squar |
33a0 | 65 2c 20 63 72 6f 73 73 2c 20 74 72 69 61 6e 67 6c 65 2c 20 73 74 61 72 5d 5c 6e 5c 6e 53 20 3d | e,.cross,.triangle,.star]\n\nS.= |
33c0 | 20 34 5c 6e 78 73 20 3d 20 5b 5b 5d 20 66 6f 72 20 69 20 69 6e 20 72 61 6e 67 65 28 53 29 5d 5c | .4\nxs.=.[[].for.i.in.range(S)]\ |
33e0 | 6e 5c 6e 5c 6e 66 6f 72 20 6e 62 20 69 6e 20 72 61 6e 67 65 28 34 29 3a 5c 6e 20 20 20 20 66 6f | n\n\nfor.nb.in.range(4):\n....fo |
3400 | 72 20 69 20 69 6e 20 72 61 6e 67 65 28 38 29 3a 5c 6e 20 20 20 20 20 20 20 20 66 6f 72 20 6a 20 | r.i.in.range(8):\n........for.j. |
3420 | 69 6e 20 72 61 6e 67 65 28 38 29 3a 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 68 61 | in.range(8):\n............if.sha |
3440 | 70 65 73 5b 6e 62 5d 5b 69 2c 20 6a 5d 20 3c 20 30 2e 39 35 3a 5c 6e 20 20 20 20 20 20 20 20 20 | pes[nb][i,.j].<.0.95:\n......... |
3460 | 20 20 20 20 20 20 20 78 73 5b 6e 62 5d 2e 61 70 70 65 6e 64 28 5b 6a 2c 20 38 20 2d 20 69 5d 29 | .......xs[nb].append([j,.8.-.i]) |
3480 | 5c 6e 5c 6e 78 73 20 3d 20 6e 70 2e 61 72 72 61 79 28 5b 6e 70 2e 61 72 72 61 79 28 78 73 5b 30 | \n\nxs.=.np.array([np.array(xs[0 |
34a0 | 5d 29 2c 20 6e 70 2e 61 72 72 61 79 28 78 73 5b 31 5d 29 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 | ]),.np.array(xs[1]),\n.......... |
34c0 | 20 20 20 20 20 6e 70 2e 61 72 72 61 79 28 78 73 5b 32 5d 29 2c 20 6e 70 2e 61 72 72 61 79 28 78 | .....np.array(xs[2]),.np.array(x |
34e0 | 73 5b 33 5d 29 5d 29 22 0a 20 20 20 20 20 20 5d 2c 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 | s[3])])".......],......."cell_ty |
3500 | 70 65 22 3a 20 22 63 6f 64 65 22 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 | pe":."code".....},.....{......." |
3520 | 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b | metadata":.{},......."source":.[ |
3540 | 0a 20 20 20 20 20 20 20 20 22 42 61 72 79 63 65 6e 74 65 72 20 63 6f 6d 70 75 74 61 74 69 6f 6e | ........."Barycenter.computation |
3560 | 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 | \n----------------------\n\n"... |
3580 | 20 20 20 20 5d 2c 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 |
35a0 | 6f 77 6e 22 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 | own".....},.....{......."executi |
35c0 | 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 | on_count":.null,......."metadata |
35e0 | 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 65 0a | ":.{........."collapsed":.false. |
3600 | 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 | ......},......."outputs":.[],... |
3620 | 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 73 20 3d 20 5b 6c | ...."source":.[........."ns.=.[l |
3640 | 65 6e 28 78 73 5b 73 5d 29 20 66 6f 72 20 73 20 69 6e 20 72 61 6e 67 65 28 53 29 5d 5c 6e 6e 5f | en(xs[s]).for.s.in.range(S)]\nn_ |
3660 | 73 61 6d 70 6c 65 73 20 3d 20 33 30 5c 6e 5c 6e 5c 22 5c 22 5c 22 43 6f 6d 70 75 74 65 20 61 6c | samples.=.30\n\n\"\"\"Compute.al |
3680 | 6c 20 64 69 73 74 61 6e 63 65 73 20 6d 61 74 72 69 63 65 73 20 66 6f 72 20 74 68 65 20 66 6f 75 | l.distances.matrices.for.the.fou |
36a0 | 72 20 73 68 61 70 65 73 5c 22 5c 22 5c 22 5c 6e 43 73 20 3d 20 5b 73 70 2e 73 70 61 74 69 61 6c | r.shapes\"\"\"\nCs.=.[sp.spatial |
36c0 | 2e 64 69 73 74 61 6e 63 65 2e 63 64 69 73 74 28 78 73 5b 73 5d 2c 20 78 73 5b 73 5d 29 20 66 6f | .distance.cdist(xs[s],.xs[s]).fo |
36e0 | 72 20 73 20 69 6e 20 72 61 6e 67 65 28 53 29 5d 5c 6e 43 73 20 3d 20 5b 63 73 20 2f 20 63 73 2e | r.s.in.range(S)]\nCs.=.[cs./.cs. |
3700 | 6d 61 78 28 29 20 66 6f 72 20 63 73 20 69 6e 20 43 73 5d 5c 6e 5c 6e 70 73 20 3d 20 5b 6f 74 2e | max().for.cs.in.Cs]\n\nps.=.[ot. |
3720 | 75 6e 69 66 28 6e 73 5b 73 5d 29 20 66 6f 72 20 73 20 69 6e 20 72 61 6e 67 65 28 53 29 5d 5c 6e | unif(ns[s]).for.s.in.range(S)]\n |
3740 | 70 20 3d 20 6f 74 2e 75 6e 69 66 28 6e 5f 73 61 6d 70 6c 65 73 29 5c 6e 5c 6e 5c 6e 6c 61 6d 62 | p.=.ot.unif(n_samples)\n\n\nlamb |
3760 | 64 61 73 74 20 3d 20 5b 5b 66 6c 6f 61 74 28 69 29 20 2f 20 33 2c 20 66 6c 6f 61 74 28 33 20 2d | dast.=.[[float(i)./.3,.float(3.- |
3780 | 20 69 29 20 2f 20 33 5d 20 66 6f 72 20 69 20 69 6e 20 5b 31 2c 20 32 5d 5d 5c 6e 5c 6e 43 74 30 | .i)./.3].for.i.in.[1,.2]]\n\nCt0 |
37a0 | 31 20 3d 20 5b 30 20 66 6f 72 20 69 20 69 6e 20 72 61 6e 67 65 28 32 29 5d 5c 6e 66 6f 72 20 69 | 1.=.[0.for.i.in.range(2)]\nfor.i |
37c0 | 20 69 6e 20 72 61 6e 67 65 28 32 29 3a 5c 6e 20 20 20 20 43 74 30 31 5b 69 5d 20 3d 20 6f 74 2e | .in.range(2):\n....Ct01[i].=.ot. |
37e0 | 67 72 6f 6d 6f 76 2e 67 72 6f 6d 6f 76 5f 62 61 72 79 63 65 6e 74 65 72 73 28 6e 5f 73 61 6d 70 | gromov.gromov_barycenters(n_samp |
3800 | 6c 65 73 2c 20 5b 43 73 5b 30 5d 2c 20 43 73 5b 31 5d 5d 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 | les,.[Cs[0],.Cs[1]],\n.......... |
3820 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
3840 | 20 5b 70 73 5b 30 5d 2c 20 70 73 5b 31 5d 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .[ps[0],.ps[1]\n................ |
3860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 2c 20 70 | ............................],.p |
3880 | 2c 20 6c 61 6d 62 64 61 73 74 5b 69 5d 2c 20 27 73 71 75 61 72 65 5f 6c 6f 73 73 27 2c 20 20 23 | ,.lambdast[i],.'square_loss',..# |
38a0 | 20 35 65 2d 34 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .5e-4,\n........................ |
38c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 78 5f 69 74 65 72 3d 31 30 30 2c | ...................max_iter=100, |
38e0 | 20 74 6f 6c 3d 31 65 2d 33 29 5c 6e 5c 6e 43 74 30 32 20 3d 20 5b 30 20 66 6f 72 20 69 20 69 6e | .tol=1e-3)\n\nCt02.=.[0.for.i.in |
3900 | 20 72 61 6e 67 65 28 32 29 5d 5c 6e 66 6f 72 20 69 20 69 6e 20 72 61 6e 67 65 28 32 29 3a 5c 6e | .range(2)]\nfor.i.in.range(2):\n |
3920 | 20 20 20 20 43 74 30 32 5b 69 5d 20 3d 20 6f 74 2e 67 72 6f 6d 6f 76 2e 67 72 6f 6d 6f 76 5f 62 | ....Ct02[i].=.ot.gromov.gromov_b |
3940 | 61 72 79 63 65 6e 74 65 72 73 28 6e 5f 73 61 6d 70 6c 65 73 2c 20 5b 43 73 5b 30 5d 2c 20 43 73 | arycenters(n_samples,.[Cs[0],.Cs |
3960 | 5b 32 5d 5d 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | [2]],\n......................... |
3980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 70 73 5b 30 5d 2c 20 70 73 5b 32 5d 5c | ..................[ps[0],.ps[2]\ |
39a0 | 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | n............................... |
39c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 2c 20 70 2c 20 6c 61 6d 62 64 61 73 74 5b 69 5d 2c 20 | .............],.p,.lambdast[i],. |
39e0 | 27 73 71 75 61 72 65 5f 6c 6f 73 73 27 2c 20 20 23 20 35 65 2d 34 2c 5c 6e 20 20 20 20 20 20 20 | 'square_loss',..#.5e-4,\n....... |
3a00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
3a20 | 20 20 20 20 6d 61 78 5f 69 74 65 72 3d 31 30 30 2c 20 74 6f 6c 3d 31 65 2d 33 29 5c 6e 5c 6e 43 | ....max_iter=100,.tol=1e-3)\n\nC |
3a40 | 74 31 33 20 3d 20 5b 30 20 66 6f 72 20 69 20 69 6e 20 72 61 6e 67 65 28 32 29 5d 5c 6e 66 6f 72 | t13.=.[0.for.i.in.range(2)]\nfor |
3a60 | 20 69 20 69 6e 20 72 61 6e 67 65 28 32 29 3a 5c 6e 20 20 20 20 43 74 31 33 5b 69 5d 20 3d 20 6f | .i.in.range(2):\n....Ct13[i].=.o |
3a80 | 74 2e 67 72 6f 6d 6f 76 2e 67 72 6f 6d 6f 76 5f 62 61 72 79 63 65 6e 74 65 72 73 28 6e 5f 73 61 | t.gromov.gromov_barycenters(n_sa |
3aa0 | 6d 70 6c 65 73 2c 20 5b 43 73 5b 31 5d 2c 20 43 73 5b 33 5d 5d 2c 5c 6e 20 20 20 20 20 20 20 20 | mples,.[Cs[1],.Cs[3]],\n........ |
3ac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
3ae0 | 20 20 20 5b 70 73 5b 31 5d 2c 20 70 73 5b 33 5d 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...[ps[1],.ps[3]\n.............. |
3b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 2c | ..............................], |
3b20 | 20 70 2c 20 6c 61 6d 62 64 61 73 74 5b 69 5d 2c 20 27 73 71 75 61 72 65 5f 6c 6f 73 73 27 2c 20 | .p,.lambdast[i],.'square_loss',. |
3b40 | 20 23 20 35 65 2d 34 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .#.5e-4,\n...................... |
3b60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 78 5f 69 74 65 72 3d 31 30 | .....................max_iter=10 |
3b80 | 30 2c 20 74 6f 6c 3d 31 65 2d 33 29 5c 6e 5c 6e 43 74 32 33 20 3d 20 5b 30 20 66 6f 72 20 69 20 | 0,.tol=1e-3)\n\nCt23.=.[0.for.i. |
3ba0 | 69 6e 20 72 61 6e 67 65 28 32 29 5d 5c 6e 66 6f 72 20 69 20 69 6e 20 72 61 6e 67 65 28 32 29 3a | in.range(2)]\nfor.i.in.range(2): |
3bc0 | 5c 6e 20 20 20 20 43 74 32 33 5b 69 5d 20 3d 20 6f 74 2e 67 72 6f 6d 6f 76 2e 67 72 6f 6d 6f 76 | \n....Ct23[i].=.ot.gromov.gromov |
3be0 | 5f 62 61 72 79 63 65 6e 74 65 72 73 28 6e 5f 73 61 6d 70 6c 65 73 2c 20 5b 43 73 5b 32 5d 2c 20 | _barycenters(n_samples,.[Cs[2],. |
3c00 | 43 73 5b 33 5d 5d 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Cs[3]],\n....................... |
3c20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 70 73 5b 32 5d 2c 20 70 73 5b 33 | ....................[ps[2],.ps[3 |
3c40 | 5d 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ]\n............................. |
3c60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 2c 20 70 2c 20 6c 61 6d 62 64 61 73 74 5b 69 5d | ...............],.p,.lambdast[i] |
3c80 | 2c 20 27 73 71 75 61 72 65 5f 6c 6f 73 73 27 2c 20 20 23 20 35 65 2d 34 2c 5c 6e 20 20 20 20 20 | ,.'square_loss',..#.5e-4,\n..... |
3ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
3cc0 | 20 20 20 20 20 20 6d 61 78 5f 69 74 65 72 3d 31 30 30 2c 20 74 6f 6c 3d 31 65 2d 33 29 22 0a 20 | ......max_iter=100,.tol=1e-3)".. |
3ce0 | 20 20 20 20 20 5d 2c 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 | .....],......."cell_type":."code |
3d00 | 22 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a | ".....},.....{......."metadata": |
3d20 | 20 7b 7d 2c 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 | .{},......."source":.[........." |
3d40 | 56 69 73 75 61 6c 69 7a 61 74 69 6f 6e 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e | Visualization\n-------------\n\n |
3d60 | 54 68 65 20 50 43 41 20 68 65 6c 70 73 20 69 6e 20 67 65 74 74 69 6e 67 20 63 6f 6e 73 69 73 74 | The.PCA.helps.in.getting.consist |
3d80 | 65 6e 63 79 20 62 65 74 77 65 65 6e 20 74 68 65 20 72 6f 74 61 74 69 6f 6e 73 5c 6e 5c 6e 22 0a | ency.between.the.rotations\n\n". |
3da0 | 20 20 20 20 20 20 5d 2c 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 |
3dc0 | 6b 64 6f 77 6e 22 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 | kdown".....},.....{......."execu |
3de0 | 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 | tion_count":.null,......."metada |
3e00 | 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 |
3e20 | 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a | e.......},......."outputs":.[],. |
3e40 | 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 63 6c 66 20 3d | ......"source":.[........."clf.= |
3e60 | 20 50 43 41 28 6e 5f 63 6f 6d 70 6f 6e 65 6e 74 73 3d 32 29 5c 6e 6e 70 6f 73 20 3d 20 5b 30 2c | .PCA(n_components=2)\nnpos.=.[0, |
3e80 | 20 30 2c 20 30 2c 20 30 5d 5c 6e 6e 70 6f 73 20 3d 20 5b 73 6d 61 63 6f 66 5f 6d 64 73 28 43 73 | .0,.0,.0]\nnpos.=.[smacof_mds(Cs |
3ea0 | 5b 73 5d 2c 20 32 29 20 66 6f 72 20 73 20 69 6e 20 72 61 6e 67 65 28 53 29 5d 5c 6e 5c 6e 6e 70 | [s],.2).for.s.in.range(S)]\n\nnp |
3ec0 | 6f 73 74 30 31 20 3d 20 5b 30 2c 20 30 5d 5c 6e 6e 70 6f 73 74 30 31 20 3d 20 5b 73 6d 61 63 6f | ost01.=.[0,.0]\nnpost01.=.[smaco |
3ee0 | 66 5f 6d 64 73 28 43 74 30 31 5b 73 5d 2c 20 32 29 20 66 6f 72 20 73 20 69 6e 20 72 61 6e 67 65 | f_mds(Ct01[s],.2).for.s.in.range |
3f00 | 28 32 29 5d 5c 6e 6e 70 6f 73 74 30 31 20 3d 20 5b 63 6c 66 2e 66 69 74 5f 74 72 61 6e 73 66 6f | (2)]\nnpost01.=.[clf.fit_transfo |
3f20 | 72 6d 28 6e 70 6f 73 74 30 31 5b 73 5d 29 20 66 6f 72 20 73 20 69 6e 20 72 61 6e 67 65 28 32 29 | rm(npost01[s]).for.s.in.range(2) |
3f40 | 5d 5c 6e 5c 6e 6e 70 6f 73 74 30 32 20 3d 20 5b 30 2c 20 30 5d 5c 6e 6e 70 6f 73 74 30 32 20 3d | ]\n\nnpost02.=.[0,.0]\nnpost02.= |
3f60 | 20 5b 73 6d 61 63 6f 66 5f 6d 64 73 28 43 74 30 32 5b 73 5d 2c 20 32 29 20 66 6f 72 20 73 20 69 | .[smacof_mds(Ct02[s],.2).for.s.i |
3f80 | 6e 20 72 61 6e 67 65 28 32 29 5d 5c 6e 6e 70 6f 73 74 30 32 20 3d 20 5b 63 6c 66 2e 66 69 74 5f | n.range(2)]\nnpost02.=.[clf.fit_ |
3fa0 | 74 72 61 6e 73 66 6f 72 6d 28 6e 70 6f 73 74 30 32 5b 73 5d 29 20 66 6f 72 20 73 20 69 6e 20 72 | transform(npost02[s]).for.s.in.r |
3fc0 | 61 6e 67 65 28 32 29 5d 5c 6e 5c 6e 6e 70 6f 73 74 31 33 20 3d 20 5b 30 2c 20 30 5d 5c 6e 6e 70 | ange(2)]\n\nnpost13.=.[0,.0]\nnp |
3fe0 | 6f 73 74 31 33 20 3d 20 5b 73 6d 61 63 6f 66 5f 6d 64 73 28 43 74 31 33 5b 73 5d 2c 20 32 29 20 | ost13.=.[smacof_mds(Ct13[s],.2). |
4000 | 66 6f 72 20 73 20 69 6e 20 72 61 6e 67 65 28 32 29 5d 5c 6e 6e 70 6f 73 74 31 33 20 3d 20 5b 63 | for.s.in.range(2)]\nnpost13.=.[c |
4020 | 6c 66 2e 66 69 74 5f 74 72 61 6e 73 66 6f 72 6d 28 6e 70 6f 73 74 31 33 5b 73 5d 29 20 66 6f 72 | lf.fit_transform(npost13[s]).for |
4040 | 20 73 20 69 6e 20 72 61 6e 67 65 28 32 29 5d 5c 6e 5c 6e 6e 70 6f 73 74 32 33 20 3d 20 5b 30 2c | .s.in.range(2)]\n\nnpost23.=.[0, |
4060 | 20 30 5d 5c 6e 6e 70 6f 73 74 32 33 20 3d 20 5b 73 6d 61 63 6f 66 5f 6d 64 73 28 43 74 32 33 5b | .0]\nnpost23.=.[smacof_mds(Ct23[ |
4080 | 73 5d 2c 20 32 29 20 66 6f 72 20 73 20 69 6e 20 72 61 6e 67 65 28 32 29 5d 5c 6e 6e 70 6f 73 74 | s],.2).for.s.in.range(2)]\nnpost |
40a0 | 32 33 20 3d 20 5b 63 6c 66 2e 66 69 74 5f 74 72 61 6e 73 66 6f 72 6d 28 6e 70 6f 73 74 32 33 5b | 23.=.[clf.fit_transform(npost23[ |
40c0 | 73 5d 29 20 66 6f 72 20 73 20 69 6e 20 72 61 6e 67 65 28 32 29 5d 5c 6e 5c 6e 5c 6e 66 69 67 20 | s]).for.s.in.range(2)]\n\n\nfig. |
40e0 | 3d 20 70 6c 2e 66 69 67 75 72 65 28 66 69 67 73 69 7a 65 3d 28 31 30 2c 20 31 30 29 29 5c 6e 5c | =.pl.figure(figsize=(10,.10))\n\ |
4100 | 6e 61 78 31 20 3d 20 70 6c 2e 73 75 62 70 6c 6f 74 32 67 72 69 64 28 28 34 2c 20 34 29 2c 20 28 | nax1.=.pl.subplot2grid((4,.4),.( |
4120 | 30 2c 20 30 29 29 5c 6e 70 6c 2e 78 6c 69 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 70 6c 2e 79 6c 69 | 0,.0))\npl.xlim((-1,.1))\npl.yli |
4140 | 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 61 78 31 2e 73 63 61 74 74 65 72 28 6e 70 6f 73 5b 30 5d 5b | m((-1,.1))\nax1.scatter(npos[0][ |
4160 | 3a 2c 20 30 5d 2c 20 6e 70 6f 73 5b 30 5d 5b 3a 2c 20 31 5d 2c 20 63 6f 6c 6f 72 3d 27 72 27 29 | :,.0],.npos[0][:,.1],.color='r') |
4180 | 5c 6e 5c 6e 61 78 32 20 3d 20 70 6c 2e 73 75 62 70 6c 6f 74 32 67 72 69 64 28 28 34 2c 20 34 29 | \n\nax2.=.pl.subplot2grid((4,.4) |
41a0 | 2c 20 28 30 2c 20 31 29 29 5c 6e 70 6c 2e 78 6c 69 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 70 6c 2e | ,.(0,.1))\npl.xlim((-1,.1))\npl. |
41c0 | 79 6c 69 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 61 78 32 2e 73 63 61 74 74 65 72 28 6e 70 6f 73 74 | ylim((-1,.1))\nax2.scatter(npost |
41e0 | 30 31 5b 31 5d 5b 3a 2c 20 30 5d 2c 20 6e 70 6f 73 74 30 31 5b 31 5d 5b 3a 2c 20 31 5d 2c 20 63 | 01[1][:,.0],.npost01[1][:,.1],.c |
4200 | 6f 6c 6f 72 3d 27 62 27 29 5c 6e 5c 6e 61 78 33 20 3d 20 70 6c 2e 73 75 62 70 6c 6f 74 32 67 72 | olor='b')\n\nax3.=.pl.subplot2gr |
4220 | 69 64 28 28 34 2c 20 34 29 2c 20 28 30 2c 20 32 29 29 5c 6e 70 6c 2e 78 6c 69 6d 28 28 2d 31 2c | id((4,.4),.(0,.2))\npl.xlim((-1, |
4240 | 20 31 29 29 5c 6e 70 6c 2e 79 6c 69 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 61 78 33 2e 73 63 61 74 | .1))\npl.ylim((-1,.1))\nax3.scat |
4260 | 74 65 72 28 6e 70 6f 73 74 30 31 5b 30 5d 5b 3a 2c 20 30 5d 2c 20 6e 70 6f 73 74 30 31 5b 30 5d | ter(npost01[0][:,.0],.npost01[0] |
4280 | 5b 3a 2c 20 31 5d 2c 20 63 6f 6c 6f 72 3d 27 62 27 29 5c 6e 5c 6e 61 78 34 20 3d 20 70 6c 2e 73 | [:,.1],.color='b')\n\nax4.=.pl.s |
42a0 | 75 62 70 6c 6f 74 32 67 72 69 64 28 28 34 2c 20 34 29 2c 20 28 30 2c 20 33 29 29 5c 6e 70 6c 2e | ubplot2grid((4,.4),.(0,.3))\npl. |
42c0 | 78 6c 69 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 70 6c 2e 79 6c 69 6d 28 28 2d 31 2c 20 31 29 29 5c | xlim((-1,.1))\npl.ylim((-1,.1))\ |
42e0 | 6e 61 78 34 2e 73 63 61 74 74 65 72 28 6e 70 6f 73 5b 31 5d 5b 3a 2c 20 30 5d 2c 20 6e 70 6f 73 | nax4.scatter(npos[1][:,.0],.npos |
4300 | 5b 31 5d 5b 3a 2c 20 31 5d 2c 20 63 6f 6c 6f 72 3d 27 72 27 29 5c 6e 5c 6e 61 78 35 20 3d 20 70 | [1][:,.1],.color='r')\n\nax5.=.p |
4320 | 6c 2e 73 75 62 70 6c 6f 74 32 67 72 69 64 28 28 34 2c 20 34 29 2c 20 28 31 2c 20 30 29 29 5c 6e | l.subplot2grid((4,.4),.(1,.0))\n |
4340 | 70 6c 2e 78 6c 69 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 70 6c 2e 79 6c 69 6d 28 28 2d 31 2c 20 31 | pl.xlim((-1,.1))\npl.ylim((-1,.1 |
4360 | 29 29 5c 6e 61 78 35 2e 73 63 61 74 74 65 72 28 6e 70 6f 73 74 30 32 5b 31 5d 5b 3a 2c 20 30 5d | ))\nax5.scatter(npost02[1][:,.0] |
4380 | 2c 20 6e 70 6f 73 74 30 32 5b 31 5d 5b 3a 2c 20 31 5d 2c 20 63 6f 6c 6f 72 3d 27 62 27 29 5c 6e | ,.npost02[1][:,.1],.color='b')\n |
43a0 | 5c 6e 61 78 36 20 3d 20 70 6c 2e 73 75 62 70 6c 6f 74 32 67 72 69 64 28 28 34 2c 20 34 29 2c 20 | \nax6.=.pl.subplot2grid((4,.4),. |
43c0 | 28 31 2c 20 33 29 29 5c 6e 70 6c 2e 78 6c 69 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 70 6c 2e 79 6c | (1,.3))\npl.xlim((-1,.1))\npl.yl |
43e0 | 69 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 61 78 36 2e 73 63 61 74 74 65 72 28 6e 70 6f 73 74 31 33 | im((-1,.1))\nax6.scatter(npost13 |
4400 | 5b 31 5d 5b 3a 2c 20 30 5d 2c 20 6e 70 6f 73 74 31 33 5b 31 5d 5b 3a 2c 20 31 5d 2c 20 63 6f 6c | [1][:,.0],.npost13[1][:,.1],.col |
4420 | 6f 72 3d 27 62 27 29 5c 6e 5c 6e 61 78 37 20 3d 20 70 6c 2e 73 75 62 70 6c 6f 74 32 67 72 69 64 | or='b')\n\nax7.=.pl.subplot2grid |
4440 | 28 28 34 2c 20 34 29 2c 20 28 32 2c 20 30 29 29 5c 6e 70 6c 2e 78 6c 69 6d 28 28 2d 31 2c 20 31 | ((4,.4),.(2,.0))\npl.xlim((-1,.1 |
4460 | 29 29 5c 6e 70 6c 2e 79 6c 69 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 61 78 37 2e 73 63 61 74 74 65 | ))\npl.ylim((-1,.1))\nax7.scatte |
4480 | 72 28 6e 70 6f 73 74 30 32 5b 30 5d 5b 3a 2c 20 30 5d 2c 20 6e 70 6f 73 74 30 32 5b 30 5d 5b 3a | r(npost02[0][:,.0],.npost02[0][: |
44a0 | 2c 20 31 5d 2c 20 63 6f 6c 6f 72 3d 27 62 27 29 5c 6e 5c 6e 61 78 38 20 3d 20 70 6c 2e 73 75 62 | ,.1],.color='b')\n\nax8.=.pl.sub |
44c0 | 70 6c 6f 74 32 67 72 69 64 28 28 34 2c 20 34 29 2c 20 28 32 2c 20 33 29 29 5c 6e 70 6c 2e 78 6c | plot2grid((4,.4),.(2,.3))\npl.xl |
44e0 | 69 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 70 6c 2e 79 6c 69 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 61 | im((-1,.1))\npl.ylim((-1,.1))\na |
4500 | 78 38 2e 73 63 61 74 74 65 72 28 6e 70 6f 73 74 31 33 5b 30 5d 5b 3a 2c 20 30 5d 2c 20 6e 70 6f | x8.scatter(npost13[0][:,.0],.npo |
4520 | 73 74 31 33 5b 30 5d 5b 3a 2c 20 31 5d 2c 20 63 6f 6c 6f 72 3d 27 62 27 29 5c 6e 5c 6e 61 78 39 | st13[0][:,.1],.color='b')\n\nax9 |
4540 | 20 3d 20 70 6c 2e 73 75 62 70 6c 6f 74 32 67 72 69 64 28 28 34 2c 20 34 29 2c 20 28 33 2c 20 30 | .=.pl.subplot2grid((4,.4),.(3,.0 |
4560 | 29 29 5c 6e 70 6c 2e 78 6c 69 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 70 6c 2e 79 6c 69 6d 28 28 2d | ))\npl.xlim((-1,.1))\npl.ylim((- |
4580 | 31 2c 20 31 29 29 5c 6e 61 78 39 2e 73 63 61 74 74 65 72 28 6e 70 6f 73 5b 32 5d 5b 3a 2c 20 30 | 1,.1))\nax9.scatter(npos[2][:,.0 |
45a0 | 5d 2c 20 6e 70 6f 73 5b 32 5d 5b 3a 2c 20 31 5d 2c 20 63 6f 6c 6f 72 3d 27 72 27 29 5c 6e 5c 6e | ],.npos[2][:,.1],.color='r')\n\n |
45c0 | 61 78 31 30 20 3d 20 70 6c 2e 73 75 62 70 6c 6f 74 32 67 72 69 64 28 28 34 2c 20 34 29 2c 20 28 | ax10.=.pl.subplot2grid((4,.4),.( |
45e0 | 33 2c 20 31 29 29 5c 6e 70 6c 2e 78 6c 69 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 70 6c 2e 79 6c 69 | 3,.1))\npl.xlim((-1,.1))\npl.yli |
4600 | 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 61 78 31 30 2e 73 63 61 74 74 65 72 28 6e 70 6f 73 74 32 33 | m((-1,.1))\nax10.scatter(npost23 |
4620 | 5b 31 5d 5b 3a 2c 20 30 5d 2c 20 6e 70 6f 73 74 32 33 5b 31 5d 5b 3a 2c 20 31 5d 2c 20 63 6f 6c | [1][:,.0],.npost23[1][:,.1],.col |
4640 | 6f 72 3d 27 62 27 29 5c 6e 5c 6e 61 78 31 31 20 3d 20 70 6c 2e 73 75 62 70 6c 6f 74 32 67 72 69 | or='b')\n\nax11.=.pl.subplot2gri |
4660 | 64 28 28 34 2c 20 34 29 2c 20 28 33 2c 20 32 29 29 5c 6e 70 6c 2e 78 6c 69 6d 28 28 2d 31 2c 20 | d((4,.4),.(3,.2))\npl.xlim((-1,. |
4680 | 31 29 29 5c 6e 70 6c 2e 79 6c 69 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 61 78 31 31 2e 73 63 61 74 | 1))\npl.ylim((-1,.1))\nax11.scat |
46a0 | 74 65 72 28 6e 70 6f 73 74 32 33 5b 30 5d 5b 3a 2c 20 30 5d 2c 20 6e 70 6f 73 74 32 33 5b 30 5d | ter(npost23[0][:,.0],.npost23[0] |
46c0 | 5b 3a 2c 20 31 5d 2c 20 63 6f 6c 6f 72 3d 27 62 27 29 5c 6e 5c 6e 61 78 31 32 20 3d 20 70 6c 2e | [:,.1],.color='b')\n\nax12.=.pl. |
46e0 | 73 75 62 70 6c 6f 74 32 67 72 69 64 28 28 34 2c 20 34 29 2c 20 28 33 2c 20 33 29 29 5c 6e 70 6c | subplot2grid((4,.4),.(3,.3))\npl |
4700 | 2e 78 6c 69 6d 28 28 2d 31 2c 20 31 29 29 5c 6e 70 6c 2e 79 6c 69 6d 28 28 2d 31 2c 20 31 29 29 | .xlim((-1,.1))\npl.ylim((-1,.1)) |
4720 | 5c 6e 61 78 31 32 2e 73 63 61 74 74 65 72 28 6e 70 6f 73 5b 33 5d 5b 3a 2c 20 30 5d 2c 20 6e 70 | \nax12.scatter(npos[3][:,.0],.np |
4740 | 6f 73 5b 33 5d 5b 3a 2c 20 31 5d 2c 20 63 6f 6c 6f 72 3d 27 72 27 29 22 0a 20 20 20 20 20 20 5d | os[3][:,.1],.color='r')".......] |
4760 | 2c 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 0a 20 20 20 20 | ,......."cell_type":."code"..... |
4780 | 7d 0a 20 20 5d 2c 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6c 61 6e 67 | }...],..."metadata":.{....."lang |
47a0 | 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 | uage_info":.{......."name":."pyt |
47c0 | 68 6f 6e 22 2c 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 | hon",......."codemirror_mode":.{ |
47e0 | 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 22 2c 0a 20 20 20 20 | ........."name":."ipython",..... |
4800 | 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 33 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 | ...."version":.3.......},....... |
4820 | 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 0a | "nbconvert_exporter":."python",. |
4840 | 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 33 2e 35 2e 32 22 2c 0a 20 20 20 20 20 20 | ......"version":."3.5.2",....... |
4860 | 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 33 22 2c 0a 20 20 | "pygments_lexer":."ipython3",... |
4880 | 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 0a 20 20 20 | ...."file_extension":.".py",.... |
48a0 | 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 22 0a 20 | ..."mimetype":."text/x-python".. |
48c0 | 20 20 20 7d 2c 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 | ...},....."kernelspec":.{....... |
48e0 | 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 33 22 2c 0a 20 20 20 20 | "display_name":."Python.3",..... |
4900 | 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 33 22 2c 0a 20 20 20 20 20 20 22 6c 61 6e 67 | .."name":."python3",......."lang |
4920 | 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 0a 20 20 20 20 7d 0a 20 20 7d 2c 0a 20 20 22 6e 62 | uage":."python".....}...},..."nb |
4940 | 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 | format_minor":.0,..."nbformat":. |
4960 | 34 0a 7d 50 4b 03 04 14 00 00 00 00 00 4c 4c be 4c 17 03 7f 9a 5e 13 00 00 5e 13 00 00 16 00 00 | 4.}PK........LL.L....^...^...... |
4980 | 00 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 20 22 63 65 6c 6c | .plot_optim_OTreg.ipynb{..."cell |
49a0 | 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 | s":.[.....{......."cell_type":." |
49c0 | 63 6f 64 65 22 2c 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 | code",......."execution_count":. |
49e0 | 6e 75 6c 6c 2c 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 | null,......."metadata":.{....... |
4a00 | 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 2c 0a 20 20 | .."collapsed":.false.......},... |
4a20 | 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 | ...."outputs":.[],......."source |
4a40 | 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 65 | ":.[........."%matplotlib.inline |
4a60 | 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 | ".......].....},.....{......."ce |
4a80 | 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 | ll_type":."markdown",......."met |
4aa0 | 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 | adata":.{},......."source":.[... |
4ac0 | 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 |
4ae0 | 65 6e 65 72 69 63 20 73 6f 6c 76 65 72 5c 6e 5c 6e 5c 6e 49 6c 6c 75 73 74 72 61 74 65 73 20 74 | eneric.solver\n\n\nIllustrates.t |
4b00 | 68 65 20 75 73 65 20 6f 66 20 74 68 65 20 67 65 6e 65 72 69 63 20 73 6f 6c 76 65 72 20 66 6f 72 | he.use.of.the.generic.solver.for |
4b20 | 20 72 65 67 75 6c 61 72 69 7a 65 64 20 4f 54 20 77 69 74 68 5c 6e 75 73 65 72 2d 64 65 73 69 67 | .regularized.OT.with\nuser-desig |
4b40 | 6e 65 64 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 20 74 65 72 6d 2e 20 49 74 20 75 73 65 73 | ned.regularization.term..It.uses |
4b60 | 20 43 6f 6e 64 69 74 69 6f 6e 61 6c 20 67 72 61 64 69 65 6e 74 20 61 73 20 69 6e 20 5b 36 5d 20 | .Conditional.gradient.as.in.[6]. |
4b80 | 61 6e 64 5c 6e 67 65 6e 65 72 61 6c 69 7a 65 64 20 43 6f 6e 64 69 74 69 6f 6e 61 6c 20 47 72 61 | and\ngeneralized.Conditional.Gra |
4ba0 | 64 69 65 6e 74 20 61 73 20 70 72 6f 70 6f 73 65 64 20 69 6e 20 5b 35 5d 5b 37 5d 2e 5c 6e 5c 6e | dient.as.proposed.in.[5][7].\n\n |
4bc0 | 5c 6e 5b 35 5d 20 4e 2e 20 43 6f 75 72 74 79 3b 20 52 2e 20 46 6c 61 6d 61 72 79 3b 20 44 2e 20 | \n[5].N..Courty;.R..Flamary;.D.. |
4be0 | 54 75 69 61 3b 20 41 2e 20 52 61 6b 6f 74 6f 6d 61 6d 6f 6e 6a 79 2c 20 4f 70 74 69 6d 61 6c 20 | Tuia;.A..Rakotomamonjy,.Optimal. |
4c00 | 54 72 61 6e 73 70 6f 72 74 20 66 6f 72 5c 6e 44 6f 6d 61 69 6e 20 41 64 61 70 74 61 74 69 6f 6e | Transport.for\nDomain.Adaptation |
4c20 | 2c 20 69 6e 20 49 45 45 45 20 54 72 61 6e 73 61 63 74 69 6f 6e 73 20 6f 6e 20 50 61 74 74 65 72 | ,.in.IEEE.Transactions.on.Patter |
4c40 | 6e 20 41 6e 61 6c 79 73 69 73 20 61 6e 64 20 4d 61 63 68 69 6e 65 5c 6e 49 6e 74 65 6c 6c 69 67 | n.Analysis.and.Machine\nIntellig |
4c60 | 65 6e 63 65 20 2c 20 76 6f 6c 2e 50 50 2c 20 6e 6f 2e 39 39 2c 20 70 70 2e 31 2d 31 2e 5c 6e 5c | ence.,.vol.PP,.no.99,.pp.1-1.\n\ |
4c80 | 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 61 6b 69 73 2c 20 4e | n[6].Ferradans,.S.,.Papadakis,.N |
4ca0 | 2e 2c 20 50 65 79 72 5c 75 30 30 65 39 2c 20 47 2e 2c 20 26 20 41 75 6a 6f 6c 2c 20 4a 2e 20 46 | .,.Peyr\u00e9,.G.,.&.Aujol,.J..F |
4cc0 | 2e 20 28 32 30 31 34 29 2e 5c 6e 52 65 67 75 6c 61 72 69 7a 65 64 20 64 69 73 63 72 65 74 65 20 | ..(2014).\nRegularized.discrete. |
4ce0 | 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 20 | optimal.transport..SIAM.Journal. |
4d00 | 6f 6e 20 49 6d 61 67 69 6e 67 20 53 63 69 65 6e 63 65 73 2c 5c 6e 37 28 33 29 2c 20 31 38 35 33 | on.Imaging.Sciences,\n7(3),.1853 |
4d20 | 2d 31 38 38 32 2e 5c 6e 5c 6e 5b 37 5d 20 52 61 6b 6f 74 6f 6d 61 6d 6f 6e 6a 79 2c 20 41 2e 2c | -1882.\n\n[7].Rakotomamonjy,.A., |
4d40 | 20 46 6c 61 6d 61 72 79 2c 20 52 2e 2c 20 26 20 43 6f 75 72 74 79 2c 20 4e 2e 20 28 32 30 31 35 | .Flamary,.R.,.&.Courty,.N..(2015 |
4d60 | 29 2e 20 47 65 6e 65 72 61 6c 69 7a 65 64 5c 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 67 72 61 64 | )..Generalized\nconditional.grad |
4d80 | 69 65 6e 74 3a 20 61 6e 61 6c 79 73 69 73 20 6f 66 20 63 6f 6e 76 65 72 67 65 6e 63 65 20 61 6e | ient:.analysis.of.convergence.an |
4da0 | 64 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 2e 5c 6e 61 72 58 69 76 20 70 72 65 70 72 69 6e 74 20 | d.applications.\narXiv.preprint. |
4dc0 | 61 72 58 69 76 3a 31 35 31 30 2e 30 36 35 36 37 2e 5c 6e 5c 6e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 | arXiv:1510.06567.\n\n\n\n\n".... |
4de0 | 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 | ...].....},.....{......."cell_ty |
4e00 | 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f | pe":."code",......."execution_co |
4e20 | 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a | unt":.null,......."metadata":.{. |
4e40 | 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...... |
4e60 | 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 | .},......."outputs":.[],......." |
4e80 | 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 70 79 | source":.[........."import.numpy |
4ea0 | 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 62 20 | .as.np\nimport.matplotlib.pylab. |
4ec0 | 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 69 6d 70 6f 72 74 20 6f 74 2e 70 6c 6f 74 | as.pl\nimport.ot\nimport.ot.plot |
4ee0 | 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 | ".......].....},.....{......."ce |
4f00 | 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 | ll_type":."markdown",......."met |
4f20 | 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 | adata":.{},......."source":.[... |
4f40 | 20 20 20 20 20 20 22 47 65 6e 65 72 61 74 65 20 64 61 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ......"Generate.data\n---------- |
4f60 | 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 | ---\n\n".......].....},.....{... |
4f80 | 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 | ...."cell_type":."code",......." |
4fa0 | 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d | execution_count":.null,......."m |
4fc0 | 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": |
4fe0 | 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a | .false.......},......."outputs": |
5000 | 20 5b 5d 2c 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 | .[],......."source":.[........." |
5020 | 23 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 | #%%.parameters\n\nn.=.100..#.nb. |
5040 | 62 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 | bins\n\n#.bin.positions\nx.=.np. |
5060 | 61 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 | arange(n,.dtype=np.float64)\n\n# |
5080 | 20 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 | .Gaussian.distributions\na.=.ot. |
50a0 | 64 61 74 61 73 65 74 73 2e 6d 61 6b 65 5f 31 44 5f 67 61 75 73 73 28 6e 2c 20 6d 3d 32 30 2c 20 | datasets.make_1D_gauss(n,.m=20,. |
50c0 | 73 3d 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 | s=5)..#.m=.mean,.s=.std\nb.=.ot. |
50e0 | 64 61 74 61 73 65 74 73 2e 6d 61 6b 65 5f 31 44 5f 67 61 75 73 73 28 6e 2c 20 6d 3d 36 30 2c 20 | datasets.make_1D_gauss(n,.m=60,. |
5100 | 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 20 3d 20 6f 74 2e 64 | s=10)\n\n#.loss.matrix\nM.=.ot.d |
5120 | 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 72 65 73 68 61 70 65 | ist(x.reshape((n,.1)),.x.reshape |
5140 | 28 28 6e 2c 20 31 29 29 29 5c 6e 4d 20 2f 3d 20 4d 2e 6d 61 78 28 29 22 0a 20 20 20 20 20 20 5d | ((n,.1)))\nM./=.M.max()".......] |
5160 | 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a | .....},.....{......."cell_type": |
5180 | 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b | ."markdown",......."metadata":.{ |
51a0 | 7d 2c 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 53 6f | },......."source":.[........."So |
51c0 | 6c 76 65 20 45 4d 44 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a | lve.EMD\n---------\n\n".......]. |
51e0 | 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 | ....},.....{......."cell_type":. |
5200 | 22 63 6f 64 65 22 2c 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 | "code",......."execution_count": |
5220 | 20 6e 75 6c 6c 2c 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 | .null,......."metadata":.{...... |
5240 | 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 2c 0a 20 | ..."collapsed":.false.......},.. |
5260 | 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 | ....."outputs":.[],......."sourc |
5280 | 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 25 25 20 45 4d 44 5c 6e 5c 6e 47 30 20 3d 20 6f | e":.[........."#%%.EMD\n\nG0.=.o |
52a0 | 74 2e 65 6d 64 28 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 | t.emd(a,.b,.M)\n\npl.figure(3,.f |
52c0 | 69 67 73 69 7a 65 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 | igsize=(5,.5))\not.plot.plot1D_m |
52e0 | 61 74 28 61 2c 20 62 2c 20 47 30 2c 20 27 4f 54 20 6d 61 74 72 69 78 20 47 30 27 29 22 0a 20 20 | at(a,.b,.G0,.'OT.matrix.G0')"... |
5300 | 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 | ....].....},.....{......."cell_t |
5320 | 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 | ype":."markdown",......."metadat |
5340 | 61 22 3a 20 7b 7d 2c 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 | a":.{},......."source":.[....... |
5360 | 20 20 22 53 6f 6c 76 65 20 45 4d 44 20 77 69 74 68 20 46 72 6f 62 65 6e 69 75 73 20 6e 6f 72 6d | .."Solve.EMD.with.Frobenius.norm |
5380 | 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | .regularization\n--------------- |
53a0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c | -----------------------------\n\ |
53c0 | 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 | n".......].....},.....{......."c |
53e0 | 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 | ell_type":."code",......."execut |
5400 | 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 | ion_count":.null,......."metadat |
5420 | 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 65 | a":.{........."collapsed":.false |
5440 | 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 | .......},......."outputs":.[],.. |
5460 | 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 25 25 20 45 78 | ....."source":.[........."#%%.Ex |
5480 | 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 72 65 67 75 6c 61 | ample.with.Frobenius.norm.regula |
54a0 | 72 69 7a 61 74 69 6f 6e 5c 6e 5c 6e 5c 6e 64 65 66 20 66 28 47 29 3a 5c 6e 20 20 20 20 72 65 74 | rization\n\n\ndef.f(G):\n....ret |
54c0 | 75 72 6e 20 30 2e 35 20 2a 20 6e 70 2e 73 75 6d 28 47 2a 2a 32 29 5c 6e 5c 6e 5c 6e 64 65 66 20 | urn.0.5.*.np.sum(G**2)\n\n\ndef. |
54e0 | 64 66 28 47 29 3a 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 47 5c 6e 5c 6e 5c 6e 72 65 67 20 3d 20 | df(G):\n....return.G\n\n\nreg.=. |
5500 | 31 65 2d 31 5c 6e 5c 6e 47 6c 32 20 3d 20 6f 74 2e 6f 70 74 69 6d 2e 63 67 28 61 2c 20 62 2c 20 | 1e-1\n\nGl2.=.ot.optim.cg(a,.b,. |
5520 | 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 5c 6e 5c 6e | M,.reg,.f,.df,.verbose=True)\n\n |
5540 | 70 6c 2e 66 69 67 75 72 65 28 33 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 | pl.figure(3)\not.plot.plot1D_mat |
5560 | 28 61 2c 20 62 2c 20 47 6c 32 2c 20 27 4f 54 20 6d 61 74 72 69 78 20 46 72 6f 62 2e 20 72 65 67 | (a,.b,.Gl2,.'OT.matrix.Frob..reg |
5580 | 27 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 | ')".......].....},.....{......." |
55a0 | 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d | cell_type":."markdown",......."m |
55c0 | 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a | etadata":.{},......."source":.[. |
55e0 | 20 20 20 20 20 20 20 20 22 53 6f 6c 76 65 20 45 4d 44 20 77 69 74 68 20 65 6e 74 72 6f 70 69 63 | ........"Solve.EMD.with.entropic |
5600 | 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | .regularization\n--------------- |
5620 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 | -----------------------\n\n".... |
5640 | 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 | ...].....},.....{......."cell_ty |
5660 | 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f | pe":."code",......."execution_co |
5680 | 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a | unt":.null,......."metadata":.{. |
56a0 | 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...... |
56c0 | 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 | .},......."outputs":.[],......." |
56e0 | 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 25 25 20 45 78 61 6d 70 6c 65 20 | source":.[........."#%%.Example. |
5700 | 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 6e | with.entropic.regularization\n\n |
5720 | 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 47 | \ndef.f(G):\n....return.np.sum(G |
5740 | 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 20 | .*.np.log(G))\n\n\ndef.df(G):\n. |
5760 | 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 65 | ...return.np.log(G).+.1.\n\n\nre |
5780 | 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 20 | g.=.1e-3\n\nGe.=.ot.optim.cg(a,. |
57a0 | 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 5c | b,.M,.reg,.f,.df,.verbose=True)\ |
57c0 | 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 5c | n\npl.figure(4,.figsize=(5,.5))\ |
57e0 | 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 4f | not.plot.plot1D_mat(a,.b,.Ge,.'O |
5800 | 54 20 6d 61 74 72 69 78 20 45 6e 74 72 6f 70 2e 20 72 65 67 27 29 22 0a 20 20 20 20 20 20 5d 0a | T.matrix.Entrop..reg')".......]. |
5820 | 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 | ....},.....{......."cell_type":. |
5840 | 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d | "markdown",......."metadata":.{} |
5860 | 2c 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 53 6f 6c | ,......."source":.[........."Sol |
5880 | 76 65 20 45 4d 44 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 | ve.EMD.with.Frobenius.norm.+.ent |
58a0 | 72 6f 70 69 63 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ropic.regularization\n---------- |
58c0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
58e0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d | -------------\n\n".......].....} |
5900 | 2c 0a 20 20 20 20 7b 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 | ,.....{......."cell_type":."code |
5920 | 22 2c 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 |
5940 | 2c 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 |
5960 | 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 | ollapsed":.false.......},....... |
5980 | 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b | "outputs":.[],......."source":.[ |
59a0 | 0a 20 20 20 20 20 20 20 20 22 23 25 25 20 45 78 61 6d 70 6c 65 20 77 69 74 68 20 46 72 6f 62 65 | ........."#%%.Example.with.Frobe |
59c0 | 6e 69 75 73 20 6e 6f 72 6d 20 2b 20 65 6e 74 72 6f 70 69 63 20 72 65 67 75 6c 61 72 69 7a 61 74 | nius.norm.+.entropic.regularizat |
59e0 | 69 6f 6e 20 77 69 74 68 20 67 63 67 5c 6e 5c 6e 5c 6e 64 65 66 20 66 28 47 29 3a 5c 6e 20 20 20 | ion.with.gcg\n\n\ndef.f(G):\n... |
5a00 | 20 72 65 74 75 72 6e 20 30 2e 35 20 2a 20 6e 70 2e 73 75 6d 28 47 2a 2a 32 29 5c 6e 5c 6e 5c 6e | .return.0.5.*.np.sum(G**2)\n\n\n |
5a20 | 64 65 66 20 64 66 28 47 29 3a 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 47 5c 6e 5c 6e 5c 6e 72 65 | def.df(G):\n....return.G\n\n\nre |
5a40 | 67 31 20 3d 20 31 65 2d 33 5c 6e 72 65 67 32 20 3d 20 31 65 2d 31 5c 6e 5c 6e 47 65 6c 32 20 3d | g1.=.1e-3\nreg2.=.1e-1\n\nGel2.= |
5a60 | 20 6f 74 2e 6f 70 74 69 6d 2e 67 63 67 28 61 2c 20 62 2c 20 4d 2c 20 72 65 67 31 2c 20 72 65 67 | .ot.optim.gcg(a,.b,.M,.reg1,.reg |
5a80 | 32 2c 20 66 2c 20 64 66 2c 20 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 5c 6e 70 6c 2e 66 69 | 2,.f,.df,.verbose=True)\n\npl.fi |
5aa0 | 67 75 72 65 28 35 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(5,.figsize=(5,.5))\not.plot |
5ac0 | 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 20 62 2c 20 47 65 6c 32 2c 20 27 4f 54 20 65 6e 74 72 | .plot1D_mat(a,.b,.Gel2,.'OT.entr |
5ae0 | 6f 70 69 63 20 2b 20 6d 61 74 72 69 78 20 46 72 6f 62 2e 20 72 65 67 27 29 5c 6e 70 6c 2e 73 68 | opic.+.matrix.Frob..reg')\npl.sh |
5b00 | 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 0a 20 20 5d 2c 0a 20 20 22 6d 65 74 61 | ow()".......].....}...],..."meta |
5b20 | 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 20 | data":.{....."kernelspec":.{.... |
5b40 | 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 33 22 2c 0a 20 | ..."display_name":."Python.3",.. |
5b60 | 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 2c 0a 20 20 20 20 20 | ....."language":."python",...... |
5b80 | 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 33 22 0a 20 20 20 20 7d 2c 0a 20 20 20 20 22 6c | ."name":."python3".....},....."l |
5ba0 | 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 | anguage_info":.{......."codemirr |
5bc0 | 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 | or_mode":.{........."name":."ipy |
5be0 | 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 33 0a 20 20 20 20 | thon",........."version":.3..... |
5c00 | 20 20 7d 2c 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 | ..},......."file_extension":.".p |
5c20 | 79 22 2c 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 | y",......."mimetype":."text/x-py |
5c40 | 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 0a 20 | thon",......."name":."python",.. |
5c60 | 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 |
5c80 | 6f 6e 22 2c 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 | on",......."pygments_lexer":."ip |
5ca0 | 79 74 68 6f 6e 33 22 2c 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 33 2e 36 2e 35 | ython3",......."version":."3.6.5 |
5cc0 | 22 0a 20 20 20 20 7d 0a 20 20 7d 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 0a 20 20 | ".....}...},..."nbformat":.4,... |
5ce0 | 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 0a 7d 50 4b 03 04 14 00 00 00 00 00 69 | "nbformat_minor":.0.}PK........i |
5d00 | 4c be 4c d1 72 b5 4d f4 1c 00 00 f4 1c 00 00 12 00 00 00 70 6c 6f 74 5f 6f 74 64 61 5f 64 32 2e | L.L.r.M............plot_otda_d2. |
5d20 | 69 70 79 6e 62 7b 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 | ipynb{..."cells":.[.....{....... |
5d40 | 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 | "cell_type":."code",......."exec |
5d60 | 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 | ution_count":.null,......."metad |
5d80 | 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 |
5da0 | 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c | se.......},......."outputs":.[], |
5dc0 | 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 |
5de0 | 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 | plotlib.inline".......].....},.. |
5e00 | 20 20 20 7b 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 | ...{......."cell_type":."markdow |
5e20 | 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 | n",......."metadata":.{},....... |
5e40 | 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 72 20 | "source":.[........."\n#.OT.for. |
5e60 | 64 6f 6d 61 69 6e 20 61 64 61 70 74 61 74 69 6f 6e 20 6f 6e 20 65 6d 70 69 72 69 63 61 6c 20 64 | domain.adaptation.on.empirical.d |
5e80 | 69 73 74 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 | istributions\n\n\nThis.example.i |
5ea0 | 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 74 69 6f 6e 20 69 6e | ntroduces.a.domain.adaptation.in |
5ec0 | 20 61 20 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 | .a.2D.setting..It.explicits\nthe |
5ee0 | 20 70 72 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 | .problem.of.domain.adaptation.an |
5f00 | 64 20 69 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 | d.introduces.some.optimal.transp |
5f20 | 6f 72 74 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 | ort\napproaches.to.solve.it.\n\n |
5f40 | 51 75 61 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 | Quantities.such.as.optimal.coupl |
5f60 | 69 6e 67 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 | ings,.greater.coupling.coefficie |
5f80 | 6e 74 73 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 | nts.and\ntransported.samples.are |
5fa0 | 20 72 65 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 | .represented.in.order.to.give.a. |
5fc0 | 76 69 73 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 | visual.understanding\nof.what.th |
5fe0 | 65 20 74 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 | e.transport.methods.are.doing.\n |
6000 | 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 | \n".......].....},.....{......." |
6020 | 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 | cell_type":."code",......."execu |
6040 | 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 | tion_count":.null,......."metada |
6060 | 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 |
6080 | 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a | e.......},......."outputs":.[],. |
60a0 | 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 74 | ......"source":.[........."#.Aut |
60c0 | 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 72 79 | hors:.Remi.Flamary.<remi.flamary |
60e0 | 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 61 73 | @unice.fr>\n#..........Stanislas |
6100 | 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 6f 6d | .Chambon.<stan.chambon@gmail.com |
6120 | 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 |
6140 | 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 69 | import.matplotlib.pylab.as.pl\ni |
6160 | 6d 70 6f 72 74 20 6f 74 5c 6e 69 6d 70 6f 72 74 20 6f 74 2e 70 6c 6f 74 22 0a 20 20 20 20 20 20 | mport.ot\nimport.ot.plot"....... |
6180 | 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 | ].....},.....{......."cell_type" |
61a0 | 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 | :."markdown",......."metadata":. |
61c0 | 7b 7d 2c 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 67 | {},......."source":.[........."g |
61e0 | 65 6e 65 72 61 74 65 20 64 61 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 | enerate.data\n-------------\n\n" |
6200 | 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c | .......].....},.....{......."cel |
6220 | 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f | l_type":."code",......."executio |
6240 | 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 | n_count":.null,......."metadata" |
6260 | 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.. |
6280 | 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 | .....},......."outputs":.[],.... |
62a0 | 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 6c 65 | ..."source":.[........."n_sample |
62c0 | 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 65 74 | s_source.=.150\nn_samples_target |
62e0 | 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 2e 6d | .=.150\n\nXs,.ys.=.ot.datasets.m |
6300 | 61 6b 65 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 6d | ake_data_classif('3gauss',.n_sam |
6320 | 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 65 | ples_source)\nXt,.yt.=.ot.datase |
6340 | 74 73 2e 6d 61 6b 65 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 | ts.make_data_classif('3gauss2',. |
6360 | 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 |
6380 | 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=' |
63a0 | 73 71 65 75 63 6c 69 64 65 61 6e 27 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 | sqeuclidean')".......].....},... |
63c0 | 20 20 7b 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 | ..{......."cell_type":."markdown |
63e0 | 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 | ",......."metadata":.{},......." |
6400 | 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 69 61 74 65 20 | source":.[........."Instantiate. |
6420 | 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 6f 72 69 74 68 | the.different.transport.algorith |
6440 | 6d 73 20 61 6e 64 20 66 69 74 20 74 68 65 6d 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ms.and.fit.them\n--------------- |
6460 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
6480 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c | ------------\n\n".......].....}, |
64a0 | 0a 20 20 20 20 7b 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 | .....{......."cell_type":."code" |
64c0 | 2c 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, |
64e0 | 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 6f | ......."metadata":.{........."co |
6500 | 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 | llapsed":.false.......},......." |
6520 | 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a | outputs":.[],......."source":.[. |
6540 | 20 20 20 20 20 20 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 | ........"#.EMD.Transport\not_emd |
6560 | 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 6d 64 2e | .=.ot.da.EMDTransport()\not_emd. |
6580 | 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 72 6e 20 | fit(Xs=Xs,.Xt=Xt)\n\n#.Sinkhorn. |
65a0 | 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 2e 53 | Transport\not_sinkhorn.=.ot.da.S |
65c0 | 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 6f 74 | inkhornTransport(reg_e=1e-1)\not |
65e0 | 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 6e 23 | _sinkhorn.fit(Xs=Xs,.Xt=Xt)\n\n# |
6600 | 20 53 69 6e 6b 68 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 | .Sinkhorn.Transport.with.Group.l |
6620 | 61 73 73 6f 20 72 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 | asso.regularization\not_lpl1.=.o |
6640 | 74 2e 64 61 2e 53 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 | t.da.SinkhornLpl1Transport(reg_e |
6660 | 3d 31 65 2d 31 2c 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 | =1e-1,.reg_cl=1e0)\not_lpl1.fit( |
6680 | 58 73 3d 58 73 2c 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 | Xs=Xs,.ys=ys,.Xt=Xt)\n\n#.transp |
66a0 | 6f 72 74 20 73 6f 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 | ort.source.samples.onto.target.s |
66c0 | 61 6d 70 6c 65 73 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 | amples\ntransp_Xs_emd.=.ot_emd.t |
66e0 | 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 73 69 6e 6b 68 | ransform(Xs=Xs)\ntransp_Xs_sinkh |
6700 | 6f 72 6e 20 3d 20 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 | orn.=.ot_sinkhorn.transform(Xs=X |
6720 | 73 29 5c 6e 74 72 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 | s)\ntransp_Xs_lpl1.=.ot_lpl1.tra |
6740 | 6e 73 66 6f 72 6d 28 58 73 3d 58 73 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 | nsform(Xs=Xs)".......].....},... |
6760 | 20 20 7b 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 | ..{......."cell_type":."markdown |
6780 | 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 | ",......."metadata":.{},......." |
67a0 | 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 69 67 20 31 20 3a 20 70 6c 6f 74 | source":.[........."Fig.1.:.plot |
67c0 | 73 20 73 6f 75 72 63 65 20 61 6e 64 20 74 61 72 67 65 74 20 73 61 6d 70 6c 65 73 20 2b 20 6d 61 | s.source.and.target.samples.+.ma |
67e0 | 74 72 69 78 20 6f 66 20 70 61 69 72 77 69 73 65 20 64 69 73 74 61 6e 63 65 5c 6e 2d 2d 2d 2d 2d | trix.of.pairwise.distance\n----- |
6800 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
6820 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
6840 | 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 | \n\n".......].....},.....{...... |
6860 | 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 | ."cell_type":."code",......."exe |
6880 | 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 | cution_count":.null,......."meta |
68a0 | 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 |
68c0 | 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d | lse.......},......."outputs":.[] |
68e0 | 2c 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. |
6900 | 66 69 67 75 72 65 28 31 2c 20 66 69 67 73 69 7a 65 3d 28 31 30 2c 20 31 30 29 29 5c 6e 70 6c 2e | figure(1,.figsize=(10,.10))\npl. |
6920 | 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 65 72 28 58 73 5b | subplot(2,.2,.1)\npl.scatter(Xs[ |
6940 | 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 65 72 3d 27 2b | :,.0],.Xs[:,.1],.c=ys,.marker='+ |
6960 | 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 78 | ',.label='Source.samples')\npl.x |
6980 | 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 6c 65 67 | ticks([])\npl.yticks([])\npl.leg |
69a0 | 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 20 73 61 | end(loc=0)\npl.title('Source..sa |
69c0 | 6d 70 6c 65 73 27 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 | mples')\n\npl.subplot(2,.2,.2)\n |
69e0 | 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 |
6a00 | 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 73 | =yt,.marker='o',.label='Target.s |
6a20 | 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 63 | amples')\npl.xticks([])\npl.ytic |
6a40 | 6b 73 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 | ks([])\npl.legend(loc=0)\npl.tit |
6a60 | 6c 65 28 27 54 61 72 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 | le('Target.samples')\n\npl.subpl |
6a80 | 6f 74 28 32 2c 20 32 2c 20 33 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 4d 2c 20 69 6e 74 65 72 70 | ot(2,.2,.3)\npl.imshow(M,.interp |
6aa0 | 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([] |
6ac0 | 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 74 72 | )\npl.yticks([])\npl.title('Matr |
6ae0 | 69 78 20 6f 66 20 70 61 69 72 77 69 73 65 20 64 69 73 74 61 6e 63 65 73 27 29 5c 6e 70 6c 2e 74 | ix.of.pairwise.distances')\npl.t |
6b00 | 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 | ight_layout()".......].....},... |
6b20 | 20 20 7b 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 | ..{......."cell_type":."markdown |
6b40 | 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 | ",......."metadata":.{},......." |
6b60 | 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 74 | source":.[........."Fig.2.:.plot |
6b80 | 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 20 64 69 66 66 | s.optimal.couplings.for.the.diff |
6ba0 | 65 72 65 6e 74 20 6d 65 74 68 6f 64 73 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | erent.methods\n----------------- |
6bc0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
6be0 | 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 | --------\n\n".......].....},.... |
6c00 | 20 7b 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 0a 20 20 | .{......."cell_type":."code",... |
6c20 | 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 0a 20 20 20 | ...."execution_count":.null,.... |
6c40 | 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 |
6c60 | 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 | sed":.false.......},......."outp |
6c80 | 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 | uts":.[],......."source":.[..... |
6ca0 | 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 31 30 2c 20 36 | ...."pl.figure(2,.figsize=(10,.6 |
6cc0 | 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 6e 70 6c 2e 69 6d | ))\n\npl.subplot(2,.3,.1)\npl.im |
6ce0 | 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 65 72 70 6f 6c 61 | show(ot_emd.coupling_,.interpola |
6d00 | 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 6e | tion='nearest')\npl.xticks([])\n |
6d20 | 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 6c | pl.yticks([])\npl.title('Optimal |
6d40 | 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 5c 6e 5c 6e 70 6c | .coupling\\nEMDTransport')\n\npl |
6d60 | 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 6f 77 28 6f 74 5f | .subplot(2,.3,.2)\npl.imshow(ot_ |
6d80 | 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 6f 6c 61 74 69 6f | sinkhorn.coupling_,.interpolatio |
6da0 | 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 6e 70 6c 2e | n='nearest')\npl.xticks([])\npl. |
6dc0 | 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 6c 20 63 6f | yticks([])\npl.title('Optimal.co |
6de0 | 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 29 5c 6e 5c 6e | upling\\nSinkhornTransport')\n\n |
6e00 | 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 77 28 6f | pl.subplot(2,.3,.3)\npl.imshow(o |
6e20 | 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 61 74 69 6f 6e 3d | t_lpl1.coupling_,.interpolation= |
6e40 | 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 6e 70 6c 2e 79 74 | 'nearest')\npl.xticks([])\npl.yt |
6e60 | 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 6c 20 63 6f 75 70 | icks([])\npl.title('Optimal.coup |
6e80 | 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 72 74 27 29 5c 6e | ling\\nSinkhornLpl1Transport')\n |
6ea0 | 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 70 6c 6f 74 2e 70 | \npl.subplot(2,.3,.4)\not.plot.p |
6ec0 | 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 6f 74 5f 65 6d 64 | lot2D_samples_mat(Xs,.Xt,.ot_emd |
6ee0 | 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 5c 6e 70 6c 2e 73 | .coupling_,.c=[.5,..5,.1])\npl.s |
6f00 | 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, |
6f20 | 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 |
6f40 | 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 20 58 74 5b 3a 2c | es')\npl.scatter(Xt[:,.0],.Xt[:, |
6f60 | 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 3d 27 54 61 | .1],.c=yt,.marker='o',.label='Ta |
6f80 | 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 29 5c 6e 70 | rget.samples')\npl.xticks([])\np |
6fa0 | 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 69 6e 20 63 6f 75 | l.yticks([])\npl.title('Main.cou |
6fc0 | 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 61 6e 73 70 6f 72 | pling.coefficients\\nEMDTranspor |
6fe0 | 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 5c 6e 6f 74 2e 70 | t')\n\npl.subplot(2,.3,.5)\not.p |
7000 | 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 6f | lot.plot2D_samples_mat(Xs,.Xt,.o |
7020 | 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 35 2c 20 2e 35 2c | t_sinkhorn.coupling_,.c=[.5,..5, |
7040 | 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 20 58 73 5b 3a 2c | .1])\npl.scatter(Xs[:,.0],.Xs[:, |
7060 | 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 6f | .1],.c=ys,.marker='+',.label='So |
7080 | 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 2c | urce.samples')\npl.scatter(Xt[:, |
70a0 | 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 2c | .0],.Xt[:,.1],.c=yt,.marker='o', |
70c0 | 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 78 74 69 | .label='Target.samples')\npl.xti |
70e0 | 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 |
7100 | 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 74 73 5c 5c 6e 53 | ('Main.coupling.coefficients\\nS |
7120 | 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 75 62 70 6c 6f 74 | inkhornTransport')\n\npl.subplot |
7140 | 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 73 61 6d 70 6c 65 | (2,.3,.6)\not.plot.plot2D_sample |
7160 | 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 6c 69 6e 67 5f 2c | s_mat(Xs,.Xt,.ot_lpl1.coupling_, |
7180 | 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 72 28 58 73 5b 3a | .c=[.5,..5,.1])\npl.scatter(Xs[: |
71a0 | 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 65 72 3d 27 2b 27 | ,.0],.Xs[:,.1],.c=ys,.marker='+' |
71c0 | 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 73 63 | ,.label='Source.samples')\npl.sc |
71e0 | 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 2c 20 | atter(Xt[:,.0],.Xt[:,.1],.c=yt,. |
7200 | 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 73 61 6d 70 6c 65 | marker='o',.label='Target.sample |
7220 | 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 5d | s')\npl.xticks([])\npl.yticks([] |
7240 | 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 20 63 6f 65 66 66 | )\npl.title('Main.coupling.coeff |
7260 | 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 73 70 6f 72 74 27 | icients\\nSinkhornLpl1Transport' |
7280 | 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 0a 20 20 | )\npl.tight_layout()".......]... |
72a0 | 20 20 7d 2c 0a 20 20 20 20 7b 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 |
72c0 | 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a | arkdown",......."metadata":.{},. |
72e0 | 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 33 | ......"source":.[........."Fig.3 |
7300 | 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 2d 2d 2d | .:.plot.transported.samples\n--- |
7320 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c | -----------------------------\n\ |
7340 | 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 | n".......].....},.....{......."c |
7360 | 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 | ell_type":."code",......."execut |
7380 | 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 | ion_count":.null,......."metadat |
73a0 | 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 65 | a":.{........."collapsed":.false |
73c0 | 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 | .......},......."outputs":.[],.. |
73e0 | 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 64 69 73 70 | ....."source":.[........."#.disp |
7400 | 6c 61 79 20 74 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 | lay.transported.samples\npl.figu |
7420 | 72 65 28 34 2c 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 | re(4,.figsize=(10,.4))\npl.subpl |
7440 | 6f 74 28 31 2c 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 | ot(1,.3,.1)\npl.scatter(Xt[:,.0] |
7460 | 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 2c 5c 6e 20 | ,.Xt[:,.1],.c=yt,.marker='o',\n. |
7480 | 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 6c 65 73 27 | ..........label='Target.samples' |
74a0 | 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 61 6e 73 70 5f | ,.alpha=0.5)\npl.scatter(transp_ |
74c0 | 58 73 5f 65 6d 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 | Xs_emd[:,.0],.transp_Xs_emd[:,.1 |
74e0 | 5d 2c 20 63 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 | ],.c=ys,\n...........marker='+', |
7500 | 20 6c 61 62 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 | .label='Transp.samples',.s=30)\n |
7520 | 70 6c 2e 74 69 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 | pl.title('Transported.samples\\n |
7540 | 45 6d 64 54 72 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 | EmdTransport')\npl.legend(loc=0) |
7560 | 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 |
7580 | 5c 6e 70 6c 2e 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 | \npl.subplot(1,.3,.2)\npl.scatte |
75a0 | 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 6b | r(Xt[:,.0],.Xt[:,.1],.c=yt,.mark |
75c0 | 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 65 | er='o',\n...........label='Targe |
75e0 | 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 74 74 | t.samples',.alpha=0.5)\npl.scatt |
7600 | 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 5d 2c 20 74 72 61 | er(transp_Xs_sinkhorn[:,.0],.tra |
7620 | 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 73 2c 5c 6e 20 20 | nsp_Xs_sinkhorn[:,.1],.c=ys,\n.. |
7640 | 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 54 72 61 6e | .........marker='+',.label='Tran |
7660 | 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 74 6c 65 28 27 54 72 | sp.samples',.s=30)\npl.title('Tr |
7680 | 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 54 72 61 6e | ansported.samples\\nSinkhornTran |
76a0 | 73 70 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 | sport')\npl.xticks([])\npl.ytick |
76c0 | 73 28 5b 5d 29 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 | s([])\n\npl.subplot(1,.3,.3)\npl |
76e0 | 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 3d 79 | .scatter(Xt[:,.0],.Xt[:,.1],.c=y |
7700 | 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 65 6c | t,.marker='o',\n...........label |
7720 | 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 2e 35 29 5c 6e 70 | ='Target.samples',.alpha=0.5)\np |
7740 | 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 2c 20 30 5d 2c 20 | l.scatter(transp_Xs_lpl1[:,.0],. |
7760 | 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 2c 5c 6e 20 20 20 | transp_Xs_lpl1[:,.1],.c=ys,\n... |
7780 | 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 54 72 61 6e 73 | ........marker='+',.label='Trans |
77a0 | 70 20 73 61 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 | p.samples',.s=30)\npl.title('Tra |
77c0 | 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 70 6c 31 54 | nsported.samples\\nSinkhornLpl1T |
77e0 | 72 61 6e 73 70 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 | ransport')\npl.xticks([])\npl.yt |
7800 | 69 63 6b 73 28 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 | icks([])\n\npl.tight_layout()\np |
7820 | 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 0a 20 20 5d 2c 0a 20 20 22 | l.show()".......].....}...],..." |
7840 | 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":.{ |
7860 | 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 33 | ......."display_name":."Python.3 |
7880 | 22 2c 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 2c 0a 20 | ",......."language":."python",.. |
78a0 | 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 33 22 0a 20 20 20 20 7d 2c 0a 20 20 | ....."name":."python3".....},... |
78c0 | 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 63 6f 64 65 | .."language_info":.{......."code |
78e0 | 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 6e 61 6d 65 22 3a 20 | mirror_mode":.{........."name":. |
7900 | 22 69 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 33 0a | "ipython",........."version":.3. |
7920 | 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a | ......},......."file_extension": |
7940 | 20 22 2e 70 79 22 2c 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 | .".py",......."mimetype":."text/ |
7960 | 78 2d 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e | x-python",......."name":."python |
7980 | 22 2c 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 22 | ",......."nbconvert_exporter":." |
79a0 | 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a | python",......."pygments_lexer": |
79c0 | 20 22 69 70 79 74 68 6f 6e 33 22 2c 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 33 | ."ipython3",......."version":."3 |
79e0 | 2e 36 2e 35 22 0a 20 20 20 20 7d 0a 20 20 7d 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 | .6.5".....}...},..."nbformat":.4 |
7a00 | 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 0a 7d 50 4b 03 04 14 00 00 | ,..."nbformat_minor":.0.}PK..... |
7a20 | 00 00 00 53 4c be 4c a9 b8 76 f6 f8 19 00 00 f8 19 00 00 1f 00 00 00 70 6c 6f 74 5f 6f 74 64 61 | ...SL.L..v.............plot_otda |
7a40 | 5f 73 65 6d 69 5f 73 75 70 65 72 76 69 73 65 64 2e 69 70 79 6e 62 7b 0a 20 20 22 63 65 6c 6c 73 | _semi_supervised.ipynb{..."cells |
7a60 | 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 | ":.[.....{......."cell_type":."c |
7a80 | 6f 64 65 22 2c 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 | ode",......."execution_count":.n |
7aa0 | 75 6c 6c 2c 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 | ull,......."metadata":.{........ |
7ac0 | 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 2c 0a 20 20 20 | ."collapsed":.false.......},.... |
7ae0 | 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 | ..."outputs":.[],......."source" |
7b00 | 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 65 22 | :.[........."%matplotlib.inline" |
7b20 | 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c | .......].....},.....{......."cel |
7b40 | 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 | l_type":."markdown",......."meta |
7b60 | 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | data":.{},......."source":.[.... |
7b80 | 20 20 20 20 20 22 5c 6e 23 20 4f 54 44 41 20 75 6e 73 75 70 65 72 76 69 73 65 64 20 76 73 20 73 | ....."\n#.OTDA.unsupervised.vs.s |
7ba0 | 65 6d 69 2d 73 75 70 65 72 76 69 73 65 64 20 73 65 74 74 69 6e 67 5c 6e 5c 6e 5c 6e 54 68 69 73 | emi-supervised.setting\n\n\nThis |
7bc0 | 20 65 78 61 6d 70 6c 65 20 69 6e 74 72 6f 64 75 63 65 73 20 61 20 73 65 6d 69 20 73 75 70 65 72 | .example.introduces.a.semi.super |
7be0 | 76 69 73 65 64 20 64 6f 6d 61 69 6e 20 61 64 61 70 74 61 74 69 6f 6e 20 69 6e 20 61 20 32 44 20 | vised.domain.adaptation.in.a.2D. |
7c00 | 73 65 74 74 69 6e 67 2e 5c 6e 49 74 20 65 78 70 6c 69 63 69 74 73 20 74 68 65 20 70 72 6f 62 6c | setting.\nIt.explicits.the.probl |
7c20 | 65 6d 20 6f 66 20 73 65 6d 69 20 73 75 70 65 72 76 69 73 65 64 20 64 6f 6d 61 69 6e 20 61 64 61 | em.of.semi.supervised.domain.ada |
7c40 | 70 74 61 74 69 6f 6e 20 61 6e 64 20 69 6e 74 72 6f 64 75 63 65 73 5c 6e 73 6f 6d 65 20 6f 70 74 | ptation.and.introduces\nsome.opt |
7c60 | 69 6d 61 6c 20 74 72 61 6e 73 70 6f 72 74 20 61 70 70 72 6f 61 63 68 65 73 20 74 6f 20 73 6f 6c | imal.transport.approaches.to.sol |
7c80 | 76 65 20 69 74 2e 5c 6e 5c 6e 51 75 61 6e 74 69 74 69 65 73 20 73 75 63 68 20 61 73 20 6f 70 74 | ve.it.\n\nQuantities.such.as.opt |
7ca0 | 69 6d 61 6c 20 63 6f 75 70 6c 69 6e 67 73 2c 20 67 72 65 61 74 65 72 20 63 6f 75 70 6c 69 6e 67 | imal.couplings,.greater.coupling |
7cc0 | 20 63 6f 65 66 66 69 63 69 65 6e 74 73 20 61 6e 64 5c 6e 74 72 61 6e 73 70 6f 72 74 65 64 20 73 | .coefficients.and\ntransported.s |
7ce0 | 61 6d 70 6c 65 73 20 61 72 65 20 72 65 70 72 65 73 65 6e 74 65 64 20 69 6e 20 6f 72 64 65 72 20 | amples.are.represented.in.order. |
7d00 | 74 6f 20 67 69 76 65 20 61 20 76 69 73 75 61 6c 20 75 6e 64 65 72 73 74 61 6e 64 69 6e 67 5c 6e | to.give.a.visual.understanding\n |
7d20 | 6f 66 20 77 68 61 74 20 74 68 65 20 74 72 61 6e 73 70 6f 72 74 20 6d 65 74 68 6f 64 73 20 61 72 | of.what.the.transport.methods.ar |
7d40 | 65 20 64 6f 69 6e 67 2e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 | e.doing.\n\n".......].....},.... |
7d60 | 20 7b 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 0a 20 20 | .{......."cell_type":."code",... |
7d80 | 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 0a 20 20 20 | ...."execution_count":.null,.... |
7da0 | 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 |
7dc0 | 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 | sed":.false.......},......."outp |
7de0 | 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 | uts":.[],......."source":.[..... |
7e00 | 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 |
7e20 | 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#......... |
7e40 | 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 |
7e60 | 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 |
7e80 | 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 |
7ea0 | 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 0a 20 20 20 20 | b.as.pl\nimport.ot".......]..... |
7ec0 | 7d 2c 0a 20 20 20 20 7b 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 |
7ee0 | 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 | kdown",......."metadata":.{},... |
7f00 | 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 47 65 6e 65 72 61 74 | ...."source":.[........."Generat |
7f20 | 65 20 64 61 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 | e.data\n-------------\n\n"...... |
7f40 | 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 | .].....},.....{......."cell_type |
7f60 | 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e | ":."code",......."execution_coun |
7f80 | 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 | t":.null,......."metadata":.{... |
7fa0 | 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.......} |
7fc0 | 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f | ,......."outputs":.[],......."so |
7fe0 | 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 6e 5f 73 61 6d 70 6c 65 73 5f 73 6f 75 72 | urce":.[........."n_samples_sour |
8000 | 63 65 20 3d 20 31 35 30 5c 6e 6e 5f 73 61 6d 70 6c 65 73 5f 74 61 72 67 65 74 20 3d 20 31 35 30 | ce.=.150\nn_samples_target.=.150 |
8020 | 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 6d 61 6b 65 5f 64 61 | \n\nXs,.ys.=.ot.datasets.make_da |
8040 | 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 6d 70 6c 65 73 5f 73 | ta_classif('3gauss',.n_samples_s |
8060 | 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 65 74 73 2e 6d 61 6b | ource)\nXt,.yt.=.ot.datasets.mak |
8080 | 65 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 6e 5f 73 61 6d 70 | e_data_classif('3gauss2',.n_samp |
80a0 | 6c 65 73 5f 74 61 72 67 65 74 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 | les_target)".......].....},..... |
80c0 | 7b 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", |
80e0 | 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f | ......."metadata":.{},......."so |
8100 | 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 54 72 61 6e 73 70 6f 72 74 20 73 6f 75 72 | urce":.[........."Transport.sour |
8120 | 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 5c 6e | ce.samples.onto.target.samples\n |
8140 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
8160 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c | ------------\n\n".......].....}, |
8180 | 0a 20 20 20 20 7b 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 | .....{......."cell_type":."code" |
81a0 | 2c 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, |
81c0 | 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 6f | ......."metadata":.{........."co |
81e0 | 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 | llapsed":.false.......},......." |
8200 | 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a | outputs":.[],......."source":.[. |
8220 | 20 20 20 20 20 20 20 20 22 23 20 75 6e 73 75 70 65 72 76 69 73 65 64 20 64 6f 6d 61 69 6e 20 61 | ........"#.unsupervised.domain.a |
8240 | 64 61 70 74 61 74 69 6f 6e 5c 6e 6f 74 5f 73 69 6e 6b 68 6f 72 6e 5f 75 6e 20 3d 20 6f 74 2e 64 | daptation\not_sinkhorn_un.=.ot.d |
8260 | 61 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 | a.SinkhornTransport(reg_e=1e-1)\ |
8280 | 6e 6f 74 5f 73 69 6e 6b 68 6f 72 6e 5f 75 6e 2e 66 69 74 28 58 73 3d 58 73 2c 20 58 74 3d 58 74 | not_sinkhorn_un.fit(Xs=Xs,.Xt=Xt |
82a0 | 29 5c 6e 74 72 61 6e 73 70 5f 58 73 5f 73 69 6e 6b 68 6f 72 6e 5f 75 6e 20 3d 20 6f 74 5f 73 69 | )\ntransp_Xs_sinkhorn_un.=.ot_si |
82c0 | 6e 6b 68 6f 72 6e 5f 75 6e 2e 74 72 61 6e 73 66 6f 72 6d 28 58 73 3d 58 73 29 5c 6e 5c 6e 23 20 | nkhorn_un.transform(Xs=Xs)\n\n#. |
82e0 | 73 65 6d 69 2d 73 75 70 65 72 76 69 73 65 64 20 64 6f 6d 61 69 6e 20 61 64 61 70 74 61 74 69 6f | semi-supervised.domain.adaptatio |
8300 | 6e 5c 6e 6f 74 5f 73 69 6e 6b 68 6f 72 6e 5f 73 65 6d 69 20 3d 20 6f 74 2e 64 61 2e 53 69 6e 6b | n\not_sinkhorn_semi.=.ot.da.Sink |
8320 | 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 6f 74 5f 73 69 | hornTransport(reg_e=1e-1)\not_si |
8340 | 6e 6b 68 6f 72 6e 5f 73 65 6d 69 2e 66 69 74 28 58 73 3d 58 73 2c 20 58 74 3d 58 74 2c 20 79 73 | nkhorn_semi.fit(Xs=Xs,.Xt=Xt,.ys |
8360 | 3d 79 73 2c 20 79 74 3d 79 74 29 5c 6e 74 72 61 6e 73 70 5f 58 73 5f 73 69 6e 6b 68 6f 72 6e 5f | =ys,.yt=yt)\ntransp_Xs_sinkhorn_ |
8380 | 73 65 6d 69 20 3d 20 6f 74 5f 73 69 6e 6b 68 6f 72 6e 5f 73 65 6d 69 2e 74 72 61 6e 73 66 6f 72 | semi.=.ot_sinkhorn_semi.transfor |
83a0 | 6d 28 58 73 3d 58 73 29 5c 6e 5c 6e 23 20 73 65 6d 69 20 73 75 70 65 72 76 69 73 65 64 20 44 41 | m(Xs=Xs)\n\n#.semi.supervised.DA |
83c0 | 20 75 73 65 73 20 61 76 61 69 6c 61 62 6c 65 20 6c 61 62 61 6c 65 64 20 74 61 72 67 65 74 20 73 | .uses.available.labaled.target.s |
83e0 | 61 6d 70 6c 65 73 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 63 6f 73 74 5c 6e 23 20 6d 61 74 | amples.to.modify.the.cost\n#.mat |
8400 | 72 69 78 20 69 6e 76 6f 6c 76 65 64 20 69 6e 20 74 68 65 20 4f 54 20 70 72 6f 62 6c 65 6d 2e 20 | rix.involved.in.the.OT.problem.. |
8420 | 54 68 65 20 63 6f 73 74 20 6f 66 20 74 72 61 6e 73 70 6f 72 74 69 6e 67 20 61 20 73 6f 75 72 63 | The.cost.of.transporting.a.sourc |
8440 | 65 20 73 61 6d 70 6c 65 5c 6e 23 20 6f 66 20 63 6c 61 73 73 20 41 20 6f 6e 74 6f 20 61 20 74 61 | e.sample\n#.of.class.A.onto.a.ta |
8460 | 72 67 65 74 20 73 61 6d 70 6c 65 20 6f 66 20 63 6c 61 73 73 20 42 20 21 3d 20 41 20 69 73 20 73 | rget.sample.of.class.B.!=.A.is.s |
8480 | 65 74 20 74 6f 20 69 6e 66 69 6e 69 74 65 2c 20 6f 72 20 61 5c 6e 23 20 76 65 72 79 20 6c 61 72 | et.to.infinite,.or.a\n#.very.lar |
84a0 | 67 65 20 76 61 6c 75 65 5c 6e 5c 6e 23 20 6e 6f 74 65 20 74 68 61 74 20 69 6e 20 74 68 65 20 70 | ge.value\n\n#.note.that.in.the.p |
84c0 | 72 65 73 65 6e 74 20 63 61 73 65 20 77 65 20 63 6f 6e 73 69 64 65 72 20 74 68 61 74 20 61 6c 6c | resent.case.we.consider.that.all |
84e0 | 20 74 68 65 20 74 61 72 67 65 74 20 73 61 6d 70 6c 65 73 20 61 72 65 5c 6e 23 20 6c 61 62 65 6c | .the.target.samples.are\n#.label |
8500 | 65 64 2e 20 46 6f 72 20 64 61 69 6c 79 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 2c 20 73 6f 6d 65 | ed..For.daily.applications,.some |
8520 | 20 74 61 72 67 65 74 20 73 61 6d 70 6c 65 20 6d 69 67 68 74 20 6e 6f 74 20 68 61 76 65 20 6c 61 | .target.sample.might.not.have.la |
8540 | 62 65 6c 73 2c 5c 6e 23 20 69 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20 65 6c 65 6d 65 6e | bels,\n#.in.this.case.the.elemen |
8560 | 74 20 6f 66 20 79 74 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 73 65 20 73 | t.of.yt.corresponding.to.these.s |
8580 | 61 6d 70 6c 65 73 20 73 68 6f 75 6c 64 20 62 65 5c 6e 23 20 66 69 6c 6c 65 64 20 77 69 74 68 20 | amples.should.be\n#.filled.with. |
85a0 | 2d 31 2e 5c 6e 5c 6e 23 20 57 61 72 6e 69 6e 67 3a 20 77 65 20 72 65 63 61 6c 6c 20 74 68 61 74 | -1.\n\n#.Warning:.we.recall.that |
85c0 | 20 2d 31 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 61 73 20 61 20 63 6c 61 73 73 20 6c 61 | .-1.cannot.be.used.as.a.class.la |
85e0 | 62 65 6c 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 | bel".......].....},.....{....... |
8600 | 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 | "cell_type":."markdown",......." |
8620 | 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b | metadata":.{},......."source":.[ |
8640 | 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 |
8660 | 6e 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 | nd.target.samples.+.matrix.of.pa |
8680 | 69 72 77 69 73 65 20 64 69 73 74 61 6e 63 65 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | irwise.distance\n--------------- |
86a0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
86c0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 | ----------------------\n\n"..... |
86e0 | 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 | ..].....},.....{......."cell_typ |
8700 | 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 | e":."code",......."execution_cou |
8720 | 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 | nt":.null,......."metadata":.{.. |
8740 | 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 20 | ......."collapsed":.false....... |
8760 | 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 | },......."outputs":.[],......."s |
8780 | 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 65 28 31 2c 20 | ource":.[........."pl.figure(1,. |
87a0 | 66 69 67 73 69 7a 65 3d 28 31 30 2c 20 31 30 29 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c | figsize=(10,.10))\npl.subplot(2, |
87c0 | 20 32 2c 20 31 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 | .2,.1)\npl.scatter(Xs[:,.0],.Xs[ |
87e0 | 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 65 6c 3d 27 | :,.1],.c=ys,.marker='+',.label=' |
8800 | 53 6f 75 72 63 65 20 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 | Source.samples')\npl.xticks([])\ |
8820 | 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 30 29 | npl.yticks([])\npl.legend(loc=0) |
8840 | 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 53 6f 75 72 63 65 20 20 73 61 6d 70 6c 65 73 27 29 5c 6e 5c | \npl.title('Source..samples')\n\ |
8860 | 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 32 2c 20 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 | npl.subplot(2,.2,.2)\npl.scatter |
8880 | 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 |
88a0 | 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 |
88c0 | 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 |
88e0 | 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 54 61 72 67 65 74 | .legend(loc=0)\npl.title('Target |
8900 | 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 20 32 2c 20 33 | .samples')\n\npl.subplot(2,.2,.3 |
8920 | 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 6f 74 5f 73 69 6e 6b 68 6f 72 6e 5f 75 6e 2e 63 6f 73 74 | )\npl.imshow(ot_sinkhorn_un.cost |
8940 | 5f 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 2e | _,.interpolation='nearest')\npl. |
8960 | 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 69 | xticks([])\npl.yticks([])\npl.ti |
8980 | 74 6c 65 28 27 43 6f 73 74 20 6d 61 74 72 69 78 20 2d 20 75 6e 73 75 70 65 72 76 69 73 65 64 20 | tle('Cost.matrix.-.unsupervised. |
89a0 | 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 34 29 5c 6e 70 6c 2e | DA')\n\npl.subplot(2,.2,.4)\npl. |
89c0 | 69 6d 73 68 6f 77 28 6f 74 5f 73 69 6e 6b 68 6f 72 6e 5f 73 65 6d 69 2e 63 6f 73 74 5f 2c 20 69 | imshow(ot_sinkhorn_semi.cost_,.i |
89e0 | 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 78 74 69 63 | nterpolation='nearest')\npl.xtic |
8a00 | 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( |
8a20 | 27 43 6f 73 74 20 6d 61 74 72 69 78 20 2d 20 73 65 6d 69 73 75 70 65 72 76 69 73 65 64 20 44 41 | 'Cost.matrix.-.semisupervised.DA |
8a40 | 27 29 5c 6e 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 5c 6e 5c 6e 23 20 74 68 65 | ')\n\npl.tight_layout()\n\n#.the |
8a60 | 20 6f 70 74 69 6d 61 6c 20 63 6f 75 70 6c 69 6e 67 20 69 6e 20 74 68 65 20 73 65 6d 69 2d 73 75 | .optimal.coupling.in.the.semi-su |
8a80 | 70 65 72 76 69 73 65 64 20 44 41 20 63 61 73 65 20 77 69 6c 6c 20 65 78 68 69 62 69 74 20 5c 22 | pervised.DA.case.will.exhibit.\" |
8aa0 | 20 73 68 61 70 65 5c 6e 23 20 73 69 6d 69 6c 61 72 5c 22 20 74 6f 20 74 68 65 20 63 6f 73 74 20 | .shape\n#.similar\".to.the.cost. |
8ac0 | 6d 61 74 72 69 78 2c 20 28 62 6c 6f 63 6b 20 64 69 61 67 6f 6e 61 6c 20 6d 61 74 72 69 78 29 22 | matrix,.(block.diagonal.matrix)" |
8ae0 | 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c | .......].....},.....{......."cel |
8b00 | 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 | l_type":."markdown",......."meta |
8b20 | 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | data":.{},......."source":.[.... |
8b40 | 20 20 20 20 20 22 46 69 67 20 32 20 3a 20 70 6c 6f 74 73 20 6f 70 74 69 6d 61 6c 20 63 6f 75 70 | ....."Fig.2.:.plots.optimal.coup |
8b60 | 6c 69 6e 67 73 20 66 6f 72 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 20 6d 65 74 68 6f 64 73 5c | lings.for.the.different.methods\ |
8b80 | 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | n------------------------------- |
8ba0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a | --------------------------\n\n". |
8bc0 | 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c | ......].....},.....{......."cell |
8be0 | 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e | _type":."code",......."execution |
8c00 | 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a | _count":.null,......."metadata": |
8c20 | 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... |
8c40 | 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 | ....},......."outputs":.[],..... |
8c60 | 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 65 | .."source":.[........."pl.figure |
8c80 | 28 32 2c 20 66 69 67 73 69 7a 65 3d 28 38 2c 20 34 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f | (2,.figsize=(8,.4))\n\npl.subplo |
8ca0 | 74 28 31 2c 20 32 2c 20 31 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 6f 74 5f 73 69 6e 6b 68 6f 72 | t(1,.2,.1)\npl.imshow(ot_sinkhor |
8cc0 | 6e 5f 75 6e 2e 63 6f 75 70 6c 69 6e 67 5f 2c 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e | n_un.coupling_,.interpolation='n |
8ce0 | 65 61 72 65 73 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 | earest')\npl.xticks([])\npl.ytic |
8d00 | 6b 73 28 5b 5d 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 | ks([])\npl.title('Optimal.coupli |
8d20 | 6e 67 5c 5c 6e 55 6e 73 75 70 65 72 76 69 73 65 64 20 44 41 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 | ng\\nUnsupervised.DA')\n\npl.sub |
8d40 | 70 6c 6f 74 28 31 2c 20 32 2c 20 32 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 6f 74 5f 73 69 6e 6b | plot(1,.2,.2)\npl.imshow(ot_sink |
8d60 | 68 6f 72 6e 5f 73 65 6d 69 2e 63 6f 75 70 6c 69 6e 67 5f 2c 20 69 6e 74 65 72 70 6f 6c 61 74 69 | horn_semi.coupling_,.interpolati |
8d80 | 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 6e 70 6c | on='nearest')\npl.xticks([])\npl |
8da0 | 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 6c 20 63 | .yticks([])\npl.title('Optimal.c |
8dc0 | 6f 75 70 6c 69 6e 67 5c 5c 6e 53 65 6d 69 2d 73 75 70 65 72 76 69 73 65 64 20 44 41 27 29 5c 6e | oupling\\nSemi-supervised.DA')\n |
8de0 | 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 0a 20 20 20 | \npl.tight_layout()".......].... |
8e00 | 20 7d 2c 0a 20 20 20 20 7b 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 |
8e20 | 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 | rkdown",......."metadata":.{},.. |
8e40 | 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 33 20 | ....."source":.[........."Fig.3. |
8e60 | 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 2d 2d 2d 2d | :.plot.transported.samples\n---- |
8e80 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e | ----------------------------\n\n |
8ea0 | 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 | ".......].....},.....{......."ce |
8ec0 | 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 | ll_type":."code",......."executi |
8ee0 | 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 | on_count":.null,......."metadata |
8f00 | 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 65 0a | ":.{........."collapsed":.false. |
8f20 | 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 | ......},......."outputs":.[],... |
8f40 | 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 64 69 73 70 6c | ...."source":.[........."#.displ |
8f60 | 61 79 20 74 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 | ay.transported.samples\npl.figur |
8f80 | 65 28 34 2c 20 66 69 67 73 69 7a 65 3d 28 38 2c 20 34 29 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 | e(4,.figsize=(8,.4))\npl.subplot |
8fa0 | 28 31 2c 20 32 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 | (1,.2,.1)\npl.scatter(Xt[:,.0],. |
8fc0 | 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 5c 6e 20 20 20 | Xt[:,.1],.c=yt,.marker='o',\n... |
8fe0 | 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 6c 65 73 27 2c 20 | ........label='Target.samples',. |
9000 | 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 61 6e 73 70 5f 58 73 | alpha=0.5)\npl.scatter(transp_Xs |
9020 | 5f 73 69 6e 6b 68 6f 72 6e 5f 75 6e 5b 3a 2c 20 30 5d 2c 20 74 72 61 6e 73 70 5f 58 73 5f 73 69 | _sinkhorn_un[:,.0],.transp_Xs_si |
9040 | 6e 6b 68 6f 72 6e 5f 75 6e 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c 5c 6e 20 20 20 20 20 20 20 20 | nkhorn_un[:,.1],.c=ys,\n........ |
9060 | 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 |
9080 | 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 |
90a0 | 74 65 64 20 73 61 6d 70 6c 65 73 5c 5c 6e 45 6d 64 54 72 61 6e 73 70 6f 72 74 27 29 5c 6e 70 6c | ted.samples\\nEmdTransport')\npl |
90c0 | 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c 2e 78 74 69 63 6b 73 28 5b 5d 29 5c 6e 70 | .legend(loc=0)\npl.xticks([])\np |
90e0 | 6c 2e 79 74 69 63 6b 73 28 5b 5d 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 32 2c | l.yticks([])\n\npl.subplot(1,.2, |
9100 | 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 74 5b 3a 2c 20 | .2)\npl.scatter(Xt[:,.0],.Xt[:,. |
9120 | 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 20 | 1],.c=yt,.marker='o',\n......... |
9140 | 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 3d | ..label='Target.samples',.alpha= |
9160 | 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 73 69 6e 6b 68 | 0.5)\npl.scatter(transp_Xs_sinkh |
9180 | 6f 72 6e 5f 73 65 6d 69 5b 3a 2c 20 30 5d 2c 20 74 72 61 6e 73 70 5f 58 73 5f 73 69 6e 6b 68 6f | orn_semi[:,.0],.transp_Xs_sinkho |
91a0 | 72 6e 5f 73 65 6d 69 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 | rn_semi[:,.1],.c=ys,\n.......... |
91c0 | 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 70 6c | .marker='+',.label='Transp.sampl |
91e0 | 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 74 65 | es',.s=30)\npl.title('Transporte |
9200 | 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 27 29 5c | d.samples\\nSinkhornTransport')\ |
9220 | 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 5c | npl.xticks([])\npl.yticks([])\n\ |
9240 | 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 77 28 29 22 0a 20 | npl.tight_layout()\npl.show()".. |
9260 | 20 20 20 20 20 5d 0a 20 20 20 20 7d 0a 20 20 5d 2c 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 | .....].....}...],..."metadata":. |
9280 | 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 22 64 69 73 | {....."kernelspec":.{......."dis |
92a0 | 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 33 22 2c 0a 20 20 20 20 20 20 22 6c | play_name":."Python.3",......."l |
92c0 | 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 | anguage":."python",......."name" |
92e0 | 3a 20 22 70 79 74 68 6f 6e 33 22 0a 20 20 20 20 7d 2c 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 | :."python3".....},....."language |
9300 | 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 | _info":.{......."codemirror_mode |
9320 | 22 3a 20 7b 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 22 2c 0a | ":.{........."name":."ipython",. |
9340 | 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 33 0a 20 20 20 20 20 20 7d 2c 0a 20 20 | ........"version":.3.......},... |
9360 | 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 0a 20 20 20 | ...."file_extension":.".py",.... |
9380 | 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 22 2c 0a | ..."mimetype":."text/x-python",. |
93a0 | 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e | ......"name":."python",......."n |
93c0 | 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 0a 20 20 | bconvert_exporter":."python",... |
93e0 | 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 33 22 | ...."pygments_lexer":."ipython3" |
9400 | 2c 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 33 2e 36 2e 35 22 0a 20 20 20 20 7d | ,......."version":."3.6.5".....} |
9420 | 0a 20 20 7d 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 0a 20 20 22 6e 62 66 6f 72 6d | ...},..."nbformat":.4,..."nbform |
9440 | 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 0a 7d 50 4b 03 04 14 00 00 00 00 00 4b 4c be 4c 27 4a df 9c | at_minor":.0.}PK........KL.L'J.. |
9460 | 9d 0d 00 00 9d 0d 00 00 10 00 00 00 70 6c 6f 74 5f 4f 54 5f 31 44 2e 69 70 79 6e 62 7b 0a 20 20 | ............plot_OT_1D.ipynb{... |
9480 | 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 | "cells":.[.....{......."cell_typ |
94a0 | 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 | e":."code",......."execution_cou |
94c0 | 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 | nt":.null,......."metadata":.{.. |
94e0 | 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 20 | ......."collapsed":.false....... |
9500 | 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 | },......."outputs":.[],......."s |
9520 | 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 |
9540 | 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 | nline".......].....},.....{..... |
9560 | 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 0a 20 20 20 20 20 | .."cell_type":."markdown",...... |
9580 | 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a | ."metadata":.{},......."source": |
95a0 | 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 73 | .[........."\n#.1D.optimal.trans |
95c0 | 70 6f 72 74 5c 6e 5c 6e 5c 6e 54 68 69 73 20 65 78 61 6d 70 6c 65 20 69 6c 6c 75 73 74 72 61 74 | port\n\n\nThis.example.illustrat |
95e0 | 65 73 20 74 68 65 20 63 6f 6d 70 75 74 61 74 69 6f 6e 20 6f 66 20 45 4d 44 20 61 6e 64 20 53 69 | es.the.computation.of.EMD.and.Si |
9600 | 6e 6b 68 6f 72 6e 20 74 72 61 6e 73 70 6f 72 74 20 70 6c 61 6e 73 5c 6e 61 6e 64 20 74 68 65 69 | nkhorn.transport.plans\nand.thei |
9620 | 72 20 76 69 73 75 61 6c 69 7a 61 74 69 6f 6e 2e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a | r.visualization.\n\n\n".......]. |
9640 | 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 | ....},.....{......."cell_type":. |
9660 | 22 63 6f 64 65 22 2c 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 | "code",......."execution_count": |
9680 | 20 6e 75 6c 6c 2c 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 | .null,......."metadata":.{...... |
96a0 | 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 2c 0a 20 | ..."collapsed":.false.......},.. |
96c0 | 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 | ....."outputs":.[],......."sourc |
96e0 | 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 6c | e":.[........."#.Author:.Remi.Fl |
9700 | 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 23 | amary.<remi.flamary@unice.fr>\n# |
9720 | 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 |
9740 | 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 69 | rt.numpy.as.np\nimport.matplotli |
9760 | 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 69 6d 70 6f 72 74 | b.pylab.as.pl\nimport.ot\nimport |
9780 | 20 6f 74 2e 70 6c 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 | .ot.plot\nfrom.ot.datasets.impor |
97a0 | 74 20 6d 61 6b 65 5f 31 44 5f 67 61 75 73 73 20 61 73 20 67 61 75 73 73 22 0a 20 20 20 20 20 20 | t.make_1D_gauss.as.gauss"....... |
97c0 | 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 | ].....},.....{......."cell_type" |
97e0 | 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 | :."markdown",......."metadata":. |
9800 | 7b 7d 2c 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 47 | {},......."source":.[........."G |
9820 | 65 6e 65 72 61 74 65 20 64 61 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 | enerate.data\n-------------\n\n" |
9840 | 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c | .......].....},.....{......."cel |
9860 | 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f | l_type":."code",......."executio |
9880 | 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 | n_count":.null,......."metadata" |
98a0 | 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.. |
98c0 | 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 | .....},......."outputs":.[],.... |
98e0 | 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 25 25 20 70 61 72 61 | ..."source":.[........."#%%.para |
9900 | 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 6e | meters\n\nn.=.100..#.nb.bins\n\n |
9920 | 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 6e | #.bin.positions\nx.=.np.arange(n |
9940 | 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 61 | ,.dtype=np.float64)\n\n#.Gaussia |
9960 | 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 28 6e 2c 20 6d 3d | n.distributions\na.=.gauss(n,.m= |
9980 | 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 64 5c 6e 62 20 3d | 20,.s=5)..#.m=.mean,.s=.std\nb.= |
99a0 | 20 67 61 75 73 73 28 6e 2c 20 6d 3d 36 30 2c 20 73 3d 31 30 29 5c 6e 5c 6e 23 20 6c 6f 73 73 20 | .gauss(n,.m=60,.s=10)\n\n#.loss. |
99c0 | 6d 61 74 72 69 78 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 | matrix\nM.=.ot.dist(x.reshape((n |
99e0 | 2c 20 31 29 29 2c 20 78 2e 72 65 73 68 61 70 65 28 28 6e 2c 20 31 29 29 29 5c 6e 4d 20 2f 3d 20 | ,.1)),.x.reshape((n,.1)))\nM./=. |
9a00 | 4d 2e 6d 61 78 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 | M.max()".......].....},.....{... |
9a20 | 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 0a 20 20 20 | ...."cell_type":."markdown",.... |
9a40 | 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 | ..."metadata":.{},......."source |
9a60 | 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 6c 6f 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 | ":.[........."Plot.distributions |
9a80 | 20 61 6e 64 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | .and.loss.matrix\n-------------- |
9aa0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 | --------------------\n\n"....... |
9ac0 | 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 | ].....},.....{......."cell_type" |
9ae0 | 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 | :."code",......."execution_count |
9b00 | 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 | ":.null,......."metadata":.{.... |
9b20 | 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 2c | ....."collapsed":.false.......}, |
9b40 | 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 | ......."outputs":.[],......."sou |
9b60 | 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 25 25 20 70 6c 6f 74 20 74 68 65 20 64 69 | rce":.[........."#%%.plot.the.di |
9b80 | 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 69 67 73 | stributions\n\npl.figure(1,.figs |
9ba0 | 69 7a 65 3d 28 36 2e 34 2c 20 33 29 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 20 61 2c 20 27 62 27 | ize=(6.4,.3))\npl.plot(x,.a,.'b' |
9bc0 | 2c 20 6c 61 62 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 | ,.label='Source.distribution')\n |
9be0 | 70 6c 2e 70 6c 6f 74 28 78 2c 20 62 2c 20 27 72 27 2c 20 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 | pl.plot(x,.b,.'r',.label='Target |
9c00 | 20 64 69 73 74 72 69 62 75 74 69 6f 6e 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 29 5c 6e 5c 6e | .distribution')\npl.legend()\n\n |
9c20 | 23 25 25 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 20 | #%%.plot.distributions.and.loss. |
9c40 | 6d 61 74 72 69 78 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 | matrix\n\npl.figure(2,.figsize=( |
9c60 | 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, |
9c80 | 20 4d 2c 20 27 43 6f 73 74 20 6d 61 74 72 69 78 20 4d 27 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 | .M,.'Cost.matrix.M')".......]... |
9ca0 | 20 20 7d 2c 0a 20 20 20 20 7b 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 |
9cc0 | 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a | arkdown",......."metadata":.{},. |
9ce0 | 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 53 6f 6c 76 65 | ......"source":.[........."Solve |
9d00 | 20 45 4d 44 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 | .EMD\n---------\n\n".......].... |
9d20 | 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f | .},.....{......."cell_type":."co |
9d40 | 64 65 22 2c 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 | de",......."execution_count":.nu |
9d60 | 6c 6c 2c 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 | ll,......."metadata":.{......... |
9d80 | 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 2c 0a 20 20 20 20 | "collapsed":.false.......},..... |
9da0 | 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a | .."outputs":.[],......."source": |
9dc0 | 20 5b 0a 20 20 20 20 20 20 20 20 22 23 25 25 20 45 4d 44 5c 6e 5c 6e 47 30 20 3d 20 6f 74 2e 65 | .[........."#%%.EMD\n\nG0.=.ot.e |
9de0 | 6d 64 28 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 | md(a,.b,.M)\n\npl.figure(3,.figs |
9e00 | 69 7a 65 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 | ize=(5,.5))\not.plot.plot1D_mat( |
9e20 | 61 2c 20 62 2c 20 47 30 2c 20 27 4f 54 20 6d 61 74 72 69 78 20 47 30 27 29 22 0a 20 20 20 20 20 | a,.b,.G0,.'OT.matrix.G0')"...... |
9e40 | 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 | .].....},.....{......."cell_type |
9e60 | 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a | ":."markdown",......."metadata": |
9e80 | 20 7b 7d 2c 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 | .{},......."source":.[........." |
9ea0 | 53 6f 6c 76 65 20 53 69 6e 6b 68 6f 72 6e 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e | Solve.Sinkhorn\n--------------\n |
9ec0 | 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 | \n".......].....},.....{......." |
9ee0 | 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 | cell_type":."code",......."execu |
9f00 | 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 | tion_count":.null,......."metada |
9f20 | 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 |
9f40 | 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a | e.......},......."outputs":.[],. |
9f60 | 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 25 25 20 53 | ......"source":.[........."#%%.S |
9f80 | 69 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 | inkhorn\n\nlambd.=.1e-3\nGs.=.ot |
9fa0 | 2e 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 | .sinkhorn(a,.b,.M,.lambd,.verbos |
9fc0 | 65 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 | e=True)\n\npl.figure(4,.figsize= |
9fe0 | 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 62 | (5,.5))\not.plot.plot1D_mat(a,.b |
a000 | 2c 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 | ,.Gs,.'OT.matrix.Sinkhorn')\n\np |
a020 | 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 0a 20 20 5d 2c 0a 20 20 22 | l.show()".......].....}...],..." |
a040 | 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":.{ |
a060 | 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 33 | ......."display_name":."Python.3 |
a080 | 22 2c 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 2c 0a 20 | ",......."language":."python",.. |
a0a0 | 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 33 22 0a 20 20 20 20 7d 2c 0a 20 20 | ....."name":."python3".....},... |
a0c0 | 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 63 6f 64 65 | .."language_info":.{......."code |
a0e0 | 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 6e 61 6d 65 22 3a 20 | mirror_mode":.{........."name":. |
a100 | 22 69 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 33 0a | "ipython",........."version":.3. |
a120 | 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a | ......},......."file_extension": |
a140 | 20 22 2e 70 79 22 2c 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 | .".py",......."mimetype":."text/ |
a160 | 78 2d 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e | x-python",......."name":."python |
a180 | 22 2c 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 22 | ",......."nbconvert_exporter":." |
a1a0 | 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a | python",......."pygments_lexer": |
a1c0 | 20 22 69 70 79 74 68 6f 6e 33 22 2c 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 33 | ."ipython3",......."version":."3 |
a1e0 | 2e 36 2e 35 22 0a 20 20 20 20 7d 0a 20 20 7d 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 | .6.5".....}...},..."nbformat":.4 |
a200 | 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 0a 7d 50 4b 03 04 14 00 00 | ,..."nbformat_minor":.0.}PK..... |
a220 | 00 00 00 51 4c be 4c 18 79 30 f2 4b 11 00 00 4b 11 00 00 18 00 00 00 70 6c 6f 74 5f 62 61 72 79 | ...QL.L.y0.K...K.......plot_bary |
a240 | 63 65 6e 74 65 72 5f 31 44 2e 69 70 79 6e 62 7b 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 | center_1D.ipynb{..."cells":.[... |
a260 | 20 20 7b 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 0a 20 | ..{......."cell_type":."code",.. |
a280 | 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 0a 20 20 | ....."execution_count":.null,... |
a2a0 | 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 |
a2c0 | 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 | psed":.false.......},......."out |
a2e0 | 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | puts":.[],......."source":.[.... |
a300 | 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"....... |
a320 | 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 | ].....},.....{......."cell_type" |
a340 | 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 | :."markdown",......."metadata":. |
a360 | 7b 7d 2c 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 5c | {},......."source":.[........."\ |
a380 | 6e 23 20 31 44 20 57 61 73 73 65 72 73 74 65 69 6e 20 62 61 72 79 63 65 6e 74 65 72 20 64 65 6d | n#.1D.Wasserstein.barycenter.dem |
a3a0 | 6f 5c 6e 5c 6e 5c 6e 54 68 69 73 20 65 78 61 6d 70 6c 65 20 69 6c 6c 75 73 74 72 61 74 65 73 20 | o\n\n\nThis.example.illustrates. |
a3c0 | 74 68 65 20 63 6f 6d 70 75 74 61 74 69 6f 6e 20 6f 66 20 72 65 67 75 6c 61 72 69 7a 65 64 20 57 | the.computation.of.regularized.W |
a3e0 | 61 73 73 65 72 73 79 65 69 6e 20 42 61 72 79 63 65 6e 74 65 72 5c 6e 61 73 20 70 72 6f 70 6f 73 | assersyein.Barycenter\nas.propos |
a400 | 65 64 20 69 6e 20 5b 33 5d 2e 5c 6e 5c 6e 5c 6e 5b 33 5d 20 42 65 6e 61 6d 6f 75 2c 20 4a 2e 20 | ed.in.[3].\n\n\n[3].Benamou,.J.. |
a420 | 44 2e 2c 20 43 61 72 6c 69 65 72 2c 20 47 2e 2c 20 43 75 74 75 72 69 2c 20 4d 2e 2c 20 4e 65 6e | D.,.Carlier,.G.,.Cuturi,.M.,.Nen |
a440 | 6e 61 2c 20 4c 2e 2c 20 26 20 50 65 79 72 5c 75 30 30 65 39 2c 20 47 2e 20 28 32 30 31 35 29 2e | na,.L.,.&.Peyr\u00e9,.G..(2015). |
a460 | 5c 6e 49 74 65 72 61 74 69 76 65 20 42 72 65 67 6d 61 6e 20 70 72 6f 6a 65 63 74 69 6f 6e 73 20 | \nIterative.Bregman.projections. |
a480 | 66 6f 72 20 72 65 67 75 6c 61 72 69 7a 65 64 20 74 72 61 6e 73 70 6f 72 74 61 74 69 6f 6e 20 70 | for.regularized.transportation.p |
a4a0 | 72 6f 62 6c 65 6d 73 5c 6e 53 49 41 4d 20 4a 6f 75 72 6e 61 6c 20 6f 6e 20 53 63 69 65 6e 74 69 | roblems\nSIAM.Journal.on.Scienti |
a4c0 | 66 69 63 20 43 6f 6d 70 75 74 69 6e 67 2c 20 33 37 28 32 29 2c 20 41 31 31 31 31 2d 41 31 31 33 | fic.Computing,.37(2),.A1111-A113 |
a4e0 | 38 2e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 | 8.\n\n\n".......].....},.....{.. |
a500 | 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 0a 20 20 20 20 20 20 | ....."cell_type":."code",....... |
a520 | 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 | "execution_count":.null,......." |
a540 | 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" |
a560 | 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 | :.false.......},......."outputs" |
a580 | 3a 20 5b 5d 2c 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 | :.[],......."source":.[......... |
a5a0 | 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 69 2e 66 6c | "#.Author:.Remi.Flamary.<remi.fl |
a5c0 | 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 65 3a 20 4d | amary@unice.fr>\n#\n#.License:.M |
a5e0 | 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 73 20 6e 70 | IT.License\n\nimport.numpy.as.np |
a600 | 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 5c | \nimport.matplotlib.pylab.as.pl\ |
a620 | 6e 69 6d 70 6f 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 | nimport.ot\n#.necessary.for.3d.p |
a640 | 6c 6f 74 20 65 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 | lot.even.if.not.used\nfrom.mpl_t |
a660 | 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 20 23 | oolkits.mplot3d.import.Axes3D..# |
a680 | 20 6e 6f 71 61 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 | .noqa\nfrom.matplotlib.collectio |
a6a0 | 6e 73 20 69 6d 70 6f 72 74 20 50 6f 6c 79 43 6f 6c 6c 65 63 74 69 6f 6e 5c 6e 5c 6e 23 5c 6e 23 | ns.import.PolyCollection\n\n#\n# |
a6c0 | 20 47 65 6e 65 72 61 74 65 20 64 61 74 61 5c 6e 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c | .Generate.data\n#.-------------\ |
a6e0 | 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 30 30 20 20 23 20 | n\n#%%.parameters\n\nn.=.100..#. |
a700 | 6e 62 20 62 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 | nb.bins\n\n#.bin.positions\nx.=. |
a720 | 6e 70 2e 61 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 | np.arange(n,.dtype=np.float64)\n |
a740 | 5c 6e 23 20 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 31 20 3d | \n#.Gaussian.distributions\na1.= |
a760 | 20 6f 74 2e 64 61 74 61 73 65 74 73 2e 6d 61 6b 65 5f 31 44 5f 67 61 75 73 73 28 6e 2c 20 6d 3d | .ot.datasets.make_1D_gauss(n,.m= |
a780 | 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 64 5c 6e 61 32 20 | 20,.s=5)..#.m=.mean,.s=.std\na2. |
a7a0 | 3d 20 6f 74 2e 64 61 74 61 73 65 74 73 2e 6d 61 6b 65 5f 31 44 5f 67 61 75 73 73 28 6e 2c 20 6d | =.ot.datasets.make_1D_gauss(n,.m |
a7c0 | 3d 36 30 2c 20 73 3d 38 29 5c 6e 5c 6e 23 20 63 72 65 61 74 69 6e 67 20 6d 61 74 72 69 78 20 41 | =60,.s=8)\n\n#.creating.matrix.A |
a7e0 | 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6c 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 41 | .containing.all.distributions\nA |
a800 | 20 3d 20 6e 70 2e 76 73 74 61 63 6b 28 28 61 31 2c 20 61 32 29 29 2e 54 5c 6e 6e 5f 64 69 73 74 | .=.np.vstack((a1,.a2)).T\nn_dist |
a820 | 72 69 62 75 74 69 6f 6e 73 20 3d 20 41 2e 73 68 61 70 65 5b 31 5d 5c 6e 5c 6e 23 20 6c 6f 73 73 | ributions.=.A.shape[1]\n\n#.loss |
a840 | 20 6d 61 74 72 69 78 20 2b 20 6e 6f 72 6d 61 6c 69 7a 61 74 69 6f 6e 5c 6e 4d 20 3d 20 6f 74 2e | .matrix.+.normalization\nM.=.ot. |
a860 | 75 74 69 6c 73 2e 64 69 73 74 30 28 6e 29 5c 6e 4d 20 2f 3d 20 4d 2e 6d 61 78 28 29 5c 6e 5c 6e | utils.dist0(n)\nM./=.M.max()\n\n |
a880 | 23 5c 6e 23 20 50 6c 6f 74 20 64 61 74 61 5c 6e 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 23 | #\n#.Plot.data\n#.---------\n\n# |
a8a0 | 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 70 6c 2e | %%.plot.the.distributions\n\npl. |
a8c0 | 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 66 6f 72 | figure(1,.figsize=(6.4,.3))\nfor |
a8e0 | 20 69 20 69 6e 20 72 61 6e 67 65 28 6e 5f 64 69 73 74 72 69 62 75 74 69 6f 6e 73 29 3a 5c 6e 20 | .i.in.range(n_distributions):\n. |
a900 | 20 20 20 70 6c 2e 70 6c 6f 74 28 78 2c 20 41 5b 3a 2c 20 69 5d 29 5c 6e 70 6c 2e 74 69 74 6c 65 | ...pl.plot(x,.A[:,.i])\npl.title |
a920 | 28 27 44 69 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f | ('Distributions')\npl.tight_layo |
a940 | 75 74 28 29 5c 6e 5c 6e 23 5c 6e 23 20 42 61 72 79 63 65 6e 74 65 72 20 63 6f 6d 70 75 74 61 74 | ut()\n\n#\n#.Barycenter.computat |
a960 | 69 6f 6e 5c 6e 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c | ion\n#.----------------------\n\ |
a980 | 6e 23 25 25 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 | n#%%.barycenter.computation\n\na |
a9a0 | 6c 70 68 61 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 | lpha.=.0.2..#.0<=alpha<=1\nweigh |
a9c0 | 74 73 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 | ts.=.np.array([1.-.alpha,.alpha] |
a9e0 | 29 5c 6e 5c 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 | )\n\n#.l2bary\nbary_l2.=.A.dot(w |
aa00 | 65 69 67 68 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 | eights)\n\n#.wasserstein\nreg.=. |
aa20 | 31 65 2d 33 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 | 1e-3\nbary_wass.=.ot.bregman.bar |
aa40 | 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 5c 6e 70 | ycenter(A,.M,.reg,.weights)\n\np |
aa60 | 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 73 75 62 70 6c 6f | l.figure(2)\npl.clf()\npl.subplo |
aa80 | 74 28 32 2c 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 | t(2,.1,.1)\nfor.i.in.range(n_dis |
aaa0 | 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 78 2c 20 41 5b 3a | tributions):\n....pl.plot(x,.A[: |
aac0 | 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 69 6f 6e 73 27 29 | ,.i])\npl.title('Distributions') |
aae0 | 5c 6e 5c 6e 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 | \n\npl.subplot(2,.1,.2)\npl.plot |
ab00 | 28 78 2c 20 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 | (x,.bary_l2,.'r',.label='l2')\np |
ab20 | 6c 2e 70 6c 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 | l.plot(x,.bary_wass,.'g',.label= |
ab40 | 27 57 61 73 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 | 'Wasserstein')\npl.legend()\npl. |
ab60 | 74 69 74 6c 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 | title('Barycenters')\npl.tight_l |
ab80 | 61 79 6f 75 74 28 29 5c 6e 5c 6e 23 5c 6e 23 20 42 61 72 79 63 65 6e 74 72 69 63 20 69 6e 74 65 | ayout()\n\n#\n#.Barycentric.inte |
aba0 | 72 70 6f 6c 61 74 69 6f 6e 5c 6e 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | rpolation\n#.------------------- |
abc0 | 2d 2d 2d 2d 2d 2d 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 | ------\n\n#%%.barycenter.interpo |
abe0 | 6c 61 74 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 | lation\n\nn_alpha.=.11\nalpha_li |
ac00 | 73 74 20 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 | st.=.np.linspace(0,.1,.n_alpha)\ |
ac20 | 6e 5c 6e 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 | n\n\nB_l2.=.np.zeros((n,.n_alpha |
ac40 | 29 29 5c 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 | ))\n\nB_wass.=.np.copy(B_l2)\n\n |
ac60 | 66 6f 72 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 | for.i.in.range(0,.n_alpha):\n... |
ac80 | 20 61 6c 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 | .alpha.=.alpha_list[i]\n....weig |
aca0 | 68 74 73 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 | hts.=.np.array([1.-.alpha,.alpha |
acc0 | 5d 29 5c 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 | ])\n....B_l2[:,.i].=.A.dot(weigh |
ace0 | 74 73 29 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 | ts)\n....B_wass[:,.i].=.ot.bregm |
ad00 | 61 6e 2e 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 | an.barycenter(A,.M,.reg,.weights |
ad20 | 29 5c 6e 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 | )\n\n#%%.plot.interpolation\n\np |
ad40 | 6c 2e 66 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 | l.figure(3)\n\ncmap.=.pl.cm.get_ |
ad60 | 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 5b 5d 5c 6e 7a 73 20 | cmap('viridis')\nverts.=.[]\nzs. |
ad80 | 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 20 65 6e 75 6d 65 72 | =.alpha_list\nfor.i,.z.in.enumer |
ada0 | 61 74 65 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 | ate(zs):\n....ys.=.B_l2[:,.i]\n. |
adc0 | 20 20 20 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 | ...verts.append(list(zip(x,.ys)) |
ade0 | 29 5c 6e 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 | )\n\nax.=.pl.gcf().gca(projectio |
ae00 | 6e 3d 27 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 | n='3d')\n\npoly.=.PolyCollection |
ae20 | 28 76 65 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 | (verts,.facecolors=[cmap(a).for. |
ae40 | 61 20 69 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 | a.in.alpha_list])\npoly.set_alph |
ae60 | 61 28 30 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 | a(0.7)\nax.add_collection3d(poly |
ae80 | 2c 20 7a 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 | ,.zs=zs,.zdir='y')\nax.set_xlabe |
aea0 | 6c 28 27 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 | l('x')\nax.set_xlim3d(0,.n)\nax. |
aec0 | 73 65 74 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 | set_ylabel('$\\\\alpha$')\nax.se |
aee0 | 74 5f 79 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 | t_ylim3d(0,.1)\nax.set_zlabel('' |
af00 | 29 5c 6e 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 | )\nax.set_zlim3d(0,.B_l2.max().* |
af20 | 20 31 2e 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 | .1.01)\npl.title('Barycenter.int |
af40 | 65 72 70 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 | erpolation.with.l2')\npl.tight_l |
af60 | 61 79 6f 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 | ayout()\n\npl.figure(4)\ncmap.=. |
af80 | 70 6c 2e 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 | pl.cm.get_cmap('viridis')\nverts |
afa0 | 20 3d 20 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 | .=.[]\nzs.=.alpha_list\nfor.i,.z |
afc0 | 20 69 6e 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 | .in.enumerate(zs):\n....ys.=.B_w |
afe0 | 61 73 73 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 | ass[:,.i]\n....verts.append(list |
b000 | 28 7a 69 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 | (zip(x,.ys)))\n\nax.=.pl.gcf().g |
b020 | 63 61 28 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 | ca(projection='3d')\n\npoly.=.Po |
b040 | 6c 79 43 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 | lyCollection(verts,.facecolors=[ |
b060 | 63 6d 61 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 | cmap(a).for.a.in.alpha_list])\np |
b080 | 6f 6c 79 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 | oly.set_alpha(0.7)\nax.add_colle |
b0a0 | 63 74 69 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 | ction3d(poly,.zs=zs,.zdir='y')\n |
b0c0 | 61 78 2e 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 | ax.set_xlabel('x')\nax.set_xlim3 |
b0e0 | 64 28 30 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 | d(0,.n)\nax.set_ylabel('$\\\\alp |
b100 | 68 61 24 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 | ha$')\nax.set_ylim3d(0,.1)\nax.s |
b120 | 65 74 5f 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 | et_zlabel('')\nax.set_zlim3d(0,. |
b140 | 42 5f 6c 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 | B_l2.max().*.1.01)\npl.title('Ba |
b160 | 72 79 63 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 | rycenter.interpolation.with.Wass |
b180 | 65 72 73 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 | erstein')\npl.tight_layout()\n\n |
b1a0 | 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 0a 20 20 5d 2c 0a 20 20 | pl.show()".......].....}...],... |
b1c0 | 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":. |
b1e0 | 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. |
b200 | 33 22 2c 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 2c 0a | 3",......."language":."python",. |
b220 | 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 33 22 0a 20 20 20 20 7d 2c 0a 20 | ......"name":."python3".....},.. |
b240 | 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 63 6f 64 | ..."language_info":.{......."cod |
b260 | 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 6e 61 6d 65 22 3a | emirror_mode":.{........."name": |
b280 | 20 22 69 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 33 | ."ipython",........."version":.3 |
b2a0 | 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 | .......},......."file_extension" |
b2c0 | 3a 20 22 2e 70 79 22 2c 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 | :.".py",......."mimetype":."text |
b2e0 | 2f 78 2d 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f | /x-python",......."name":."pytho |
b300 | 6e 22 2c 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 | n",......."nbconvert_exporter":. |
b320 | 22 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 | "python",......."pygments_lexer" |
b340 | 3a 20 22 69 70 79 74 68 6f 6e 33 22 2c 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 | :."ipython3",......."version":." |
b360 | 33 2e 36 2e 35 22 0a 20 20 20 20 7d 0a 20 20 7d 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 | 3.6.5".....}...},..."nbformat":. |
b380 | 34 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 0a 7d 50 4b 03 04 14 00 | 4,..."nbformat_minor":.0.}PK.... |
b3a0 | 00 00 00 00 fb 4c be 4c cc bf 84 66 2d 18 00 00 2d 18 00 00 17 00 00 00 70 6c 6f 74 5f 6f 74 64 | .....L.L...f-...-.......plot_otd |
b3c0 | 61 5f 63 6c 61 73 73 65 73 2e 69 70 79 6e 62 7b 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 | a_classes.ipynb{..."cells":.[... |
b3e0 | 20 20 7b 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 0a 20 | ..{......."cell_type":."code",.. |
b400 | 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 0a 20 20 | ....."execution_count":.null,... |
b420 | 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 |
b440 | 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 | psed":.false.......},......."out |
b460 | 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | puts":.[],......."source":.[.... |
b480 | 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"....... |
b4a0 | 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 | ].....},.....{......."cell_type" |
b4c0 | 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 | :."markdown",......."metadata":. |
b4e0 | 7b 7d 2c 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 5c | {},......."source":.[........."\ |
b500 | 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 6f 6e 5c 6e 5c 6e 5c | n#.OT.for.domain.adaptation\n\n\ |
b520 | 6e 54 68 69 73 20 65 78 61 6d 70 6c 65 20 69 6e 74 72 6f 64 75 63 65 73 20 61 20 64 6f 6d 61 69 | nThis.example.introduces.a.domai |
b540 | 6e 20 61 64 61 70 74 61 74 69 6f 6e 20 69 6e 20 61 20 32 44 20 73 65 74 74 69 6e 67 20 61 6e 64 | n.adaptation.in.a.2D.setting.and |
b560 | 20 74 68 65 20 34 20 4f 54 44 41 5c 6e 61 70 70 72 6f 61 63 68 65 73 20 63 75 72 72 65 6e 74 6c | .the.4.OTDA\napproaches.currentl |
b580 | 79 20 73 75 70 70 6f 72 74 65 64 20 69 6e 20 50 4f 54 2e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 | y.supported.in.POT.\n\n\n"...... |
b5a0 | 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 | .].....},.....{......."cell_type |
b5c0 | 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e | ":."code",......."execution_coun |
b5e0 | 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 | t":.null,......."metadata":.{... |
b600 | 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.......} |
b620 | 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f | ,......."outputs":.[],......."so |
b640 | 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 |
b660 | 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 |
b680 | 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. |
b6a0 | 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 |
b6c0 | 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 6d 61 | icense:.MIT.License\n\nimport.ma |
b6e0 | 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 74 22 | tplotlib.pylab.as.pl\nimport.ot" |
b700 | 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c | .......].....},.....{......."cel |
b720 | 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 | l_type":."markdown",......."meta |
b740 | 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | data":.{},......."source":.[.... |
b760 | 20 20 20 20 20 22 47 65 6e 65 72 61 74 65 20 64 61 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ....."Generate.data\n----------- |
b780 | 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 | --\n\n".......].....},.....{.... |
b7a0 | 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 | ..."cell_type":."code",......."e |
b7c0 | 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 | xecution_count":.null,......."me |
b7e0 | 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":. |
b800 | 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 | false.......},......."outputs":. |
b820 | 5b 5d 2c 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 6e | [],......."source":.[........."n |
b840 | 5f 73 6f 75 72 63 65 5f 73 61 6d 70 6c 65 73 20 3d 20 31 35 30 5c 6e 6e 5f 74 61 72 67 65 74 5f | _source_samples.=.150\nn_target_ |
b860 | 73 61 6d 70 6c 65 73 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 | samples.=.150\n\nXs,.ys.=.ot.dat |
b880 | 61 73 65 74 73 2e 6d 61 6b 65 5f 64 61 74 61 5f 63 6c 61 73 73 69 66 28 27 33 67 61 75 73 73 27 | asets.make_data_classif('3gauss' |
b8a0 | 2c 20 6e 5f 73 6f 75 72 63 65 5f 73 61 6d 70 6c 65 73 29 5c 6e 58 74 2c 20 79 74 20 3d 20 6f 74 | ,.n_source_samples)\nXt,.yt.=.ot |
b8c0 | 2e 64 61 74 61 73 65 74 73 2e 6d 61 6b 65 5f 64 61 74 61 5f 63 6c 61 73 73 69 66 28 27 33 67 61 | .datasets.make_data_classif('3ga |
b8e0 | 75 73 73 32 27 2c 20 6e 5f 74 61 72 67 65 74 5f 73 61 6d 70 6c 65 73 29 22 0a 20 20 20 20 20 20 | uss2',.n_target_samples)"....... |
b900 | 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 | ].....},.....{......."cell_type" |
b920 | 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 | :."markdown",......."metadata":. |
b940 | 7b 7d 2c 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 49 | {},......."source":.[........."I |
b960 | 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 72 61 6e 73 70 6f | nstantiate.the.different.transpo |
b980 | 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 5c 6e 2d 2d 2d 2d | rt.algorithms.and.fit.them\n---- |
b9a0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
b9c0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 | -----------------------\n\n".... |
b9e0 | 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 | ...].....},.....{......."cell_ty |
ba00 | 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f | pe":."code",......."execution_co |
ba20 | 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a | unt":.null,......."metadata":.{. |
ba40 | 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...... |
ba60 | 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 | .},......."outputs":.[],......." |
ba80 | 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 72 61 6e 73 70 | source":.[........."#.EMD.Transp |
baa0 | 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 6f 72 74 | ort\not_emd.=.ot.da.EMDTransport |
bac0 | 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 6e 5c 6e | ()\not_emd.fit(Xs=Xs,.Xt=Xt)\n\n |
bae0 | 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 6e 6b 68 6f 72 | #.Sinkhorn.Transport\not_sinkhor |
bb00 | 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_ |
bb20 | 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,. |
bb40 | 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 6f 72 74 20 77 | Xt=Xt)\n\n#.Sinkhorn.Transport.w |
bb60 | 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 69 6f 6e 5c 6e | ith.Group.lasso.regularization\n |
bb80 | 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 31 54 72 61 6e | ot_lpl1.=.ot.da.SinkhornLpl1Tran |
bba0 | 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 30 29 5c 6e 6f | sport(reg_e=1e-1,.reg_cl=1e0)\no |
bbc0 | 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 3d 58 74 29 5c | t_lpl1.fit(Xs=Xs,.ys=ys,.Xt=Xt)\ |
bbe0 | 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 68 20 47 72 6f | n\n#.Sinkhorn.Transport.with.Gro |
bc00 | 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 32 5c 6e 6f 74 | up.lasso.regularization.l1l2\not |
bc20 | 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 72 61 6e 73 70 | _l1l2.=.ot.da.SinkhornL1l2Transp |
bc40 | 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 20 6d 61 78 5f | ort(reg_e=1e-1,.reg_cl=2e0,.max_ |
bc60 | 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 20 20 20 20 20 | iter=20,\n...................... |
bc80 | 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 65 29 5c 6e 6f | ................verbose=True)\no |
bca0 | 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 3d 58 74 29 5c | t_l1l2.fit(Xs=Xs,.ys=ys,.Xt=Xt)\ |
bcc0 | 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 65 73 20 6f 6e | n\n#.transport.source.samples.on |
bce0 | 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 73 5f 65 6d 64 | to.target.samples\ntransp_Xs_emd |
bd00 | 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 6e 74 72 61 6e | .=.ot_emd.transform(Xs=Xs)\ntran |
bd20 | 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 6e 2e 74 72 61 | sp_Xs_sinkhorn.=.ot_sinkhorn.tra |
bd40 | 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 6c 31 20 3d 20 | nsform(Xs=Xs)\ntransp_Xs_lpl1.=. |
bd60 | 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 72 61 6e 73 70 | ot_lpl1.transform(Xs=Xs)\ntransp |
bd80 | 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 6d 28 58 73 3d | _Xs_l1l2.=.ot_l1l2.transform(Xs= |
bda0 | 58 73 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 | Xs)".......].....},.....{....... |
bdc0 | 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 | "cell_type":."markdown",......." |
bde0 | 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b | metadata":.{},......."source":.[ |
be00 | 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 |
be20 | 6e 64 20 74 61 72 67 65 74 20 73 61 6d 70 6c 65 73 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | nd.target.samples\n------------- |
be40 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a | --------------------------\n\n". |
be60 | 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c | ......].....},.....{......."cell |
be80 | 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e | _type":."code",......."execution |
bea0 | 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a | _count":.null,......."metadata": |
bec0 | 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... |
bee0 | 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 | ....},......."outputs":.[],..... |
bf00 | 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 65 | .."source":.[........."pl.figure |
bf20 | 28 31 2c 20 66 69 67 73 69 7a 65 3d 28 31 30 2c 20 35 29 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 | (1,.figsize=(10,.5))\npl.subplot |
bf40 | 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 20 30 5d 2c 20 | (1,.2,.1)\npl.scatter(Xs[:,.0],. |
bf60 | 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 65 | Xs[:,.1],.c=ys,.marker='+',.labe |
bf80 | 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 78 74 69 63 6b 73 28 5b | l='Source.samples')\npl.xticks([ |
bfa0 | 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 63 | ])\npl.yticks([])\npl.legend(loc |
bfc0 | 3d 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 53 6f 75 72 63 65 20 20 73 61 6d 70 6c 65 73 27 29 | =0)\npl.title('Source..samples') |
bfe0 | 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 73 63 61 74 | \n\npl.subplot(1,.2,.2)\npl.scat |
c000 | 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 |
c020 | 72 6b 65 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 | rker='o',.label='Target.samples' |
c040 | 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 5c | )\npl.xticks([])\npl.yticks([])\ |
c060 | 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 54 61 72 | npl.legend(loc=0)\npl.title('Tar |
c080 | 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 | get.samples')\npl.tight_layout() |
c0a0 | 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 | ".......].....},.....{......."ce |
c0c0 | 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 | ll_type":."markdown",......."met |
c0e0 | 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 | adata":.{},......."source":.[... |
c100 | 20 20 20 20 20 20 22 46 69 67 20 32 20 3a 20 70 6c 6f 74 20 6f 70 74 69 6d 61 6c 20 63 6f 75 70 | ......"Fig.2.:.plot.optimal.coup |
c120 | 6c 69 6e 67 73 20 61 6e 64 20 74 72 61 6e 73 70 6f 72 74 65 64 20 73 61 6d 70 6c 65 73 5c 6e 2d | lings.and.transported.samples\n- |
c140 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
c160 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 | ---------------------\n\n"...... |
c180 | 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 | .].....},.....{......."cell_type |
c1a0 | 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e | ":."code",......."execution_coun |
c1c0 | 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 | t":.null,......."metadata":.{... |
c1e0 | 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.......} |
c200 | 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f | ,......."outputs":.[],......."so |
c220 | 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 70 61 72 61 6d 5f 69 6d 67 20 3d 20 7b 27 | urce":.[........."param_img.=.{' |
c240 | 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 27 3a 20 27 6e 65 61 72 65 73 74 27 7d 5c 6e 5c 6e 70 6c | interpolation':.'nearest'}\n\npl |
c260 | 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 29 5c 6e 70 6c 2e | .figure(2,.figsize=(15,.8))\npl. |
c280 | 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 77 28 6f 74 5f 65 | subplot(2,.4,.1)\npl.imshow(ot_e |
c2a0 | 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 5c 6e 70 6c 2e 78 | md.coupling_,.**param_img)\npl.x |
c2c0 | 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 |
c2e0 | 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 54 72 61 6e 73 70 | le('Optimal.coupling\\nEMDTransp |
c300 | 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 32 29 5c 6e 70 6c | ort')\n\npl.subplot(2,.4,.2)\npl |
c320 | 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 6e 67 5f 2c 20 2a | .imshow(ot_sinkhorn.coupling_,.* |
c340 | 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 5c 6e 70 6c 2e 79 | *param_img)\npl.xticks([])\npl.y |
c360 | 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 6c 20 63 6f 75 | ticks([])\npl.title('Optimal.cou |
c380 | 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 29 5c 6e 5c 6e 70 | pling\\nSinkhornTransport')\n\np |
c3a0 | 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 68 6f 77 28 6f 74 | l.subplot(2,.4,.3)\npl.imshow(ot |
c3c0 | 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 6d 67 29 5c 6e 70 | _lpl1.coupling_,.**param_img)\np |
c3e0 | 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 2e | l.xticks([])\npl.yticks([])\npl. |
c400 | 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 53 69 6e 6b 68 6f | title('Optimal.coupling\\nSinkho |
c420 | 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 62 70 6c 6f 74 28 | rnLpl1Transport')\n\npl.subplot( |
c440 | 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 32 2e 63 6f 75 70 | 2,.4,.4)\npl.imshow(ot_l1l2.coup |
c460 | 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 69 63 6b 73 28 5b | ling_,.**param_img)\npl.xticks([ |
c480 | 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 70 74 | ])\npl.yticks([])\npl.title('Opt |
c4a0 | 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 6c 32 54 72 61 6e | imal.coupling\\nSinkhornL1l2Tran |
c4c0 | 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 35 29 5c 6e | sport')\n\npl.subplot(2,.4,.5)\n |
c4e0 | 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 |
c500 | 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 |
c520 | 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 2e 33 29 5c | el='Target.samples',.alpha=0.3)\ |
c540 | 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 3a 2c 20 30 5d 2c | npl.scatter(transp_Xs_emd[:,.0], |
c560 | 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 2c 5c 6e 20 20 20 | .transp_Xs_emd[:,.1],.c=ys,\n... |
c580 | 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 54 72 61 6e 73 | ........marker='+',.label='Trans |
c5a0 | 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 6b 73 28 5b 5d 29 | p.samples',.s=30)\npl.xticks([]) |
c5c0 | 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 54 72 61 6e 73 | \npl.yticks([])\npl.title('Trans |
c5e0 | 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 6f 72 74 27 29 5c | ported.samples\\nEmdTransport')\ |
c600 | 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 74 5c 22 29 5c 6e | npl.legend(loc=\"lower.left\")\n |
c620 | 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 73 63 61 74 74 65 | \npl.subplot(2,.4,.6)\npl.scatte |
c640 | 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 6b | r(Xt[:,.0],.Xt[:,.1],.c=yt,.mark |
c660 | 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 65 | er='o',\n...........label='Targe |
c680 | 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 2e 73 63 61 74 74 | t.samples',.alpha=0.3)\npl.scatt |
c6a0 | 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 5d 2c 20 74 72 61 | er(transp_Xs_sinkhorn[:,.0],.tra |
c6c0 | 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 73 2c 5c 6e 20 20 | nsp_Xs_sinkhorn[:,.1],.c=ys,\n.. |
c6e0 | 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 54 72 61 6e | .........marker='+',.label='Tran |
c700 | 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 6b 73 28 5b 5d | sp.samples',.s=30)\npl.xticks([] |
c720 | 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 54 72 61 6e | )\npl.yticks([])\npl.title('Tran |
c740 | 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 54 72 61 6e 73 70 | sported.samples\\nSinkhornTransp |
c760 | 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 37 29 5c 6e 70 6c | ort')\n\npl.subplot(2,.4,.7)\npl |
c780 | 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 3d 79 | .scatter(Xt[:,.0],.Xt[:,.1],.c=y |
c7a0 | 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 65 6c | t,.marker='o',\n...........label |
c7c0 | 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 2e 33 29 5c 6e 70 | ='Target.samples',.alpha=0.3)\np |
c7e0 | 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 2c 20 30 5d 2c 20 | l.scatter(transp_Xs_lpl1[:,.0],. |
c800 | 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 2c 5c 6e 20 20 20 | transp_Xs_lpl1[:,.1],.c=ys,\n... |
c820 | 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 54 72 61 6e 73 | ........marker='+',.label='Trans |
c840 | 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 6b 73 28 5b 5d 29 | p.samples',.s=30)\npl.xticks([]) |
c860 | 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 54 72 61 6e 73 | \npl.yticks([])\npl.title('Trans |
c880 | 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 70 6c 31 54 72 61 | ported.samples\\nSinkhornLpl1Tra |
c8a0 | 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 38 29 5c | nsport')\n\npl.subplot(2,.4,.8)\ |
c8c0 | 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],. |
c8e0 | 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 20 6c 61 | c=yt,.marker='o',\n...........la |
c900 | 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 2e 33 29 | bel='Target.samples',.alpha=0.3) |
c920 | 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 32 5b 3a 2c 20 30 | \npl.scatter(transp_Xs_l1l2[:,.0 |
c940 | 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 3d 79 73 2c 5c 6e | ],.transp_Xs_l1l2[:,.1],.c=ys,\n |
c960 | 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 27 54 72 | ...........marker='+',.label='Tr |
c980 | 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 6b 73 28 | ansp.samples',.s=30)\npl.xticks( |
c9a0 | 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 54 72 | [])\npl.yticks([])\npl.title('Tr |
c9c0 | 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 31 6c 32 | ansported.samples\\nSinkhornL1l2 |
c9e0 | 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 75 74 28 29 5c 6e | Transport')\npl.tight_layout()\n |
ca00 | 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 0a 20 20 5d 2c 0a | \npl.show()".......].....}...],. |
ca20 | 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" |
ca40 | 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 |
ca60 | 6e 20 33 22 2c 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 | n.3",......."language":."python" |
ca80 | 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 33 22 0a 20 20 20 20 7d 2c | ,......."name":."python3".....}, |
caa0 | 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 63 | ....."language_info":.{......."c |
cac0 | 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 6e 61 6d 65 | odemirror_mode":.{........."name |
cae0 | 22 3a 20 22 69 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a | ":."ipython",........."version": |
cb00 | 20 33 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f | .3.......},......."file_extensio |
cb20 | 6e 22 3a 20 22 2e 70 79 22 2c 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 | n":.".py",......."mimetype":."te |
cb40 | 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 | xt/x-python",......."name":."pyt |
cb60 | 68 6f 6e 22 2c 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 | hon",......."nbconvert_exporter" |
cb80 | 3a 20 22 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 | :."python",......."pygments_lexe |
cba0 | 72 22 3a 20 22 69 70 79 74 68 6f 6e 33 22 2c 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a | r":."ipython3",......."version": |
cbc0 | 20 22 33 2e 36 2e 35 22 0a 20 20 20 20 7d 0a 20 20 7d 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 | ."3.6.5".....}...},..."nbformat" |
cbe0 | 3a 20 34 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 0a 7d 50 4b 03 04 | :.4,..."nbformat_minor":.0.}PK.. |
cc00 | 14 00 00 00 00 00 a7 6e a2 4c ee 5d c2 9b 78 18 00 00 78 18 00 00 25 00 00 00 70 6c 6f 74 5f 6f | .......n.L.]..x...x...%...plot_o |
cc20 | 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 2e 69 70 79 6e 62 7b | tda_mapping_colors_images.ipynb{ |
cc40 | 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 6f | ..."nbformat_minor":.0,...."nbfo |
cc60 | 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 20 | rmat":.4,...."cells":.[.....{... |
cc80 | 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,.... |
cca0 | 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",........ |
ccc0 | 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 62 | "source":.[........."%matplotlib |
cce0 | 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 74 | .inline".......],........"output |
cd00 | 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":.{.... |
cd20 | 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.......}. |
cd40 | 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":.[. |
cd60 | 20 20 20 20 20 20 20 20 22 5c 6e 23 20 4f 54 20 66 6f 72 20 69 6d 61 67 65 20 63 6f 6c 6f 72 20 | ........"\n#.OT.for.image.color. |
cd80 | 61 64 61 70 74 61 74 69 6f 6e 20 77 69 74 68 20 6d 61 70 70 69 6e 67 20 65 73 74 69 6d 61 74 69 | adaptation.with.mapping.estimati |
cda0 | 6f 6e 5c 6e 5c 6e 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 | on\n\n\nOT.for.domain.adaptation |
cdc0 | 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] |
cde0 | 20 77 69 74 68 20 6d 61 70 70 69 6e 67 5c 6e 65 73 74 69 6d 61 74 69 6f 6e 20 5b 38 5d 2e 5c 6e | .with.mapping\nestimation.[8].\n |
ce00 | 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 61 6b 69 73 2c 20 | \n[6].Ferradans,.S.,.Papadakis,. |
ce20 | 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 20 46 2e 20 28 32 | N.,.Peyre,.G.,.&.Aujol,.J..F..(2 |
ce40 | 30 31 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 | 014)..Regularized\n....discrete. |
ce60 | 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 20 | optimal.transport..SIAM.Journal. |
ce80 | 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 5c 6e 20 20 20 20 | on.Imaging.Sciences,.7(3),\n.... |
cea0 | 31 38 35 33 2d 31 38 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 | 1853-1882.\n[8].M..Perrot,.N..Co |
cec0 | 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 64 2c 20 5c 22 | urty,.R..Flamary,.A..Habrard,.\" |
cee0 | 4d 61 70 70 69 6e 67 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 | Mapping.estimation.for\n....disc |
cf00 | 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 20 4e 65 75 72 61 6c | rete.optimal.transport\",.Neural |
cf20 | 20 49 6e 66 6f 72 6d 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 | .Information.Processing.Systems. |
cf40 | 28 4e 49 50 53 29 2c 5c 6e 20 20 20 20 32 30 31 36 2e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 | (NIPS),\n....2016.\n\n\n"....... |
cf60 | 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 77 6e | ],........"cell_type":."markdown |
cf80 | 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 2c 20 | ",........"metadata":.{}.....},. |
cfa0 | 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 20 | .....{......."execution_count":. |
cfc0 | 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 22 | null,........"cell_type":."code" |
cfe0 | 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 23 20 | ,........"source":.[........."#. |
d000 | 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 6c 61 6d | Authors:.Remi.Flamary.<remi.flam |
d020 | 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 6e 69 73 | ary@unice.fr>\n#..........Stanis |
d040 | 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 69 6c 2e | las.Chambon.<stan.chambon@gmail. |
d060 | 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 73 65 5c | com>\n#\n#.License:.MIT.License\ |
d080 | 6e 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 | n\nimport.numpy.as.np\nfrom.scip |
d0a0 | 79 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 | y.import.ndimage\nimport.matplot |
d0c0 | 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 5c 6e 72 20 | lib.pylab.as.pl\nimport.ot\n\nr. |
d0e0 | 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 5c | =.np.random.RandomState(42)\n\n\ |
d100 | 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 65 | ndef.im2mat(I):\n....\"\"\"Conve |
d120 | 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 78 | rts.and.image.to.matrix.(one.pix |
d140 | 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 49 | el.per.line)\"\"\"\n....return.I |
d160 | 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 31 | .reshape((I.shape[0].*.I.shape[1 |
d180 | 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 28 | ],.I.shape[2]))\n\n\ndef.mat2im( |
d1a0 | 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 62 | X,.shape):\n....\"\"\"Converts.b |
d1c0 | 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 6e | ack.a.matrix.to.an.image\"\"\"\n |
d1e0 | 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 5c | ....return.X.reshape(shape)\n\n\ |
d200 | 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 63 | ndef.minmax(I):\n....return.np.c |
d220 | 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 6f | lip(I,.0,.1)".......],........"o |
d240 | 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":. |
d260 | 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.... |
d280 | 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 |
d2a0 | 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 65 6e 65 72 61 74 65 20 64 61 74 61 5c 6e 2d 2d 2d | ":.[........."Generate.data\n--- |
d2c0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 | ----------\n\n".......],........ |
d2e0 | 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 20 | "cell_type":."markdown",........ |
d300 | 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 20 | "metadata":.{}.....},......{.... |
d320 | 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,..... |
d340 | 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",........" |
d360 | 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 6d | source":.[........."#.Loading.im |
d380 | 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 61 | ages\nI1.=.ndimage.imread('../da |
d3a0 | 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 6f | ta/ocean_day.jpg').astype(np.flo |
d3c0 | 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 64 | at64)./.256\nI2.=.ndimage.imread |
d3e0 | 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 74 | ('../data/ocean_sunset.jpg').ast |
d400 | 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 5c 6e 58 31 20 3d 20 | ype(np.float64)./.256\n\n\nX1.=. |
d420 | 69 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 | im2mat(I1)\nX2.=.im2mat(I2)\n\n# |
d440 | 20 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 | .training.samples\nnb.=.1000\nid |
d460 | 78 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 | x1.=.r.randint(X1.shape[0],.size |
d480 | 3d 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 | =(nb,))\nidx2.=.r.randint(X2.sha |
d4a0 | 70 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 | pe[0],.size=(nb,))\n\nXs.=.X1[id |
d4c0 | 78 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 | x1,.:]\nXt.=.X2[idx2,.:]"....... |
d4e0 | 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":.[],........ |
d500 | 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 |
d520 | 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.......}.....},......{.. |
d540 | 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 44 6f 6d 61 69 6e | ....."source":.[........."Domain |
d560 | 20 61 64 61 70 74 61 74 69 6f 6e 20 66 6f 72 20 70 69 78 65 6c 20 64 69 73 74 72 69 62 75 74 69 | .adaptation.for.pixel.distributi |
d580 | 6f 6e 20 74 72 61 6e 73 66 65 72 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | on.transfer\n------------------- |
d5a0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e | ------------------------------\n |
d5c0 | 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": |
d5e0 | 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":. |
d600 | 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 |
d620 | 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 |
d640 | 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":.[.. |
d660 | 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 65 6d 64 20 3d | ......."#.EMDTransport\not_emd.= |
d680 | 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 6d 64 2e 66 69 | .ot.da.EMDTransport()\not_emd.fi |
d6a0 | 74 28 58 73 3d 58 73 2c 20 58 74 3d 58 74 29 5c 6e 74 72 61 6e 73 70 5f 58 73 5f 65 6d 64 20 3d | t(Xs=Xs,.Xt=Xt)\ntransp_Xs_emd.= |
d6c0 | 20 6f 74 5f 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 | .ot_emd.transform(Xs=X1)\nImage_ |
d6e0 | 65 6d 64 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 65 6d | emd.=.minmax(mat2im(transp_Xs_em |
d700 | 64 2c 20 49 31 2e 73 68 61 70 65 29 29 5c 6e 5c 6e 23 20 53 69 6e 6b 68 6f 72 6e 54 72 61 6e 73 | d,.I1.shape))\n\n#.SinkhornTrans |
d720 | 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 2e 53 69 6e 6b 68 6f | port\not_sinkhorn.=.ot.da.Sinkho |
d740 | 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 6f 74 5f 73 69 6e 6b | rnTransport(reg_e=1e-1)\not_sink |
d760 | 68 6f 72 6e 2e 66 69 74 28 58 73 3d 58 73 2c 20 58 74 3d 58 74 29 5c 6e 74 72 61 6e 73 70 5f 58 | horn.fit(Xs=Xs,.Xt=Xt)\ntransp_X |
d780 | 73 5f 73 69 6e 6b 68 6f 72 6e 20 3d 20 6f 74 5f 65 6d 64 2e 74 72 61 6e 73 66 6f 72 6d 28 58 73 | s_sinkhorn.=.ot_emd.transform(Xs |
d7a0 | 3d 58 31 29 5c 6e 49 6d 61 67 65 5f 73 69 6e 6b 68 6f 72 6e 20 3d 20 6d 69 6e 6d 61 78 28 6d 61 | =X1)\nImage_sinkhorn.=.minmax(ma |
d7c0 | 74 32 69 6d 28 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 | t2im(transp_Xs_sinkhorn,.I1.shap |
d7e0 | 65 29 29 5c 6e 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 | e))\n\not_mapping_linear.=.ot.da |
d800 | 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 75 3d 31 65 30 2c 20 | .MappingTransport(\n....mu=1e0,. |
d820 | 65 74 61 3d 31 65 2d 38 2c 20 62 69 61 73 3d 54 72 75 65 2c 20 6d 61 78 5f 69 74 65 72 3d 32 30 | eta=1e-8,.bias=True,.max_iter=20 |
d840 | 2c 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 6c 69 6e 65 | ,.verbose=True)\not_mapping_line |
d860 | 61 72 2e 66 69 74 28 58 73 3d 58 73 2c 20 58 74 3d 58 74 29 5c 6e 5c 6e 58 31 74 6c 20 3d 20 6f | ar.fit(Xs=Xs,.Xt=Xt)\n\nX1tl.=.o |
d880 | 74 5f 6d 61 70 70 69 6e 67 5f 6c 69 6e 65 61 72 2e 74 72 61 6e 73 66 6f 72 6d 28 58 73 3d 58 31 | t_mapping_linear.transform(Xs=X1 |
d8a0 | 29 5c 6e 49 6d 61 67 65 5f 6d 61 70 70 69 6e 67 5f 6c 69 6e 65 61 72 20 3d 20 6d 69 6e 6d 61 78 | )\nImage_mapping_linear.=.minmax |
d8c0 | 28 6d 61 74 32 69 6d 28 58 31 74 6c 2c 20 49 31 2e 73 68 61 70 65 29 29 5c 6e 5c 6e 6f 74 5f 6d | (mat2im(X1tl,.I1.shape))\n\not_m |
d8e0 | 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 69 6e 67 54 | apping_gaussian.=.ot.da.MappingT |
d900 | 72 61 6e 73 70 6f 72 74 28 5c 6e 20 20 20 20 6d 75 3d 31 65 30 2c 20 65 74 61 3d 31 65 2d 32 2c | ransport(\n....mu=1e0,.eta=1e-2, |
d920 | 20 73 69 67 6d 61 3d 31 2c 20 62 69 61 73 3d 46 61 6c 73 65 2c 20 6d 61 78 5f 69 74 65 72 3d 31 | .sigma=1,.bias=False,.max_iter=1 |
d940 | 30 2c 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 | 0,.verbose=True)\not_mapping_gau |
d960 | 73 73 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 58 31 74 6e 20 | ssian.fit(Xs=Xs,.Xt=Xt)\n\nX1tn. |
d980 | 3d 20 6f 74 5f 6d 61 70 70 69 6e 67 5f 67 61 75 73 73 69 61 6e 2e 74 72 61 6e 73 66 6f 72 6d 28 | =.ot_mapping_gaussian.transform( |
d9a0 | 58 73 3d 58 31 29 20 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 | Xs=X1)..#.use.the.estimated.mapp |
d9c0 | 69 6e 67 5c 6e 49 6d 61 67 65 5f 6d 61 70 70 69 6e 67 5f 67 61 75 73 73 69 61 6e 20 3d 20 6d 69 | ing\nImage_mapping_gaussian.=.mi |
d9e0 | 6e 6d 61 78 28 6d 61 74 32 69 6d 28 58 31 74 6e 2c 20 49 31 2e 73 68 61 70 65 29 29 22 0a 20 20 | nmax(mat2im(X1tn,.I1.shape))"... |
da00 | 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":.[],.... |
da20 | 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 |
da40 | 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 0a 20 20 20 | psed":.false.......}.....},..... |
da60 | 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 20 22 50 6c | .{......."source":.[........."Pl |
da80 | 6f 74 20 6f 72 69 67 69 6e 61 6c 20 69 6d 61 67 65 73 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ot.original.images\n------------ |
daa0 | 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 | --------\n\n".......],........"c |
dac0 | 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 |
dae0 | 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":.{}.....},......{...... |
db00 | 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,....... |
db20 | 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 |
db40 | 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 65 28 31 2c 20 66 | urce":.[........."pl.figure(1,.f |
db60 | 69 67 73 69 7a 65 3d 28 36 2e 34 2c 20 33 29 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 | igsize=(6.4,.3))\npl.subplot(1,. |
db80 | 32 2c 20 31 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 29 5c 6e 70 6c 2e 61 78 69 73 28 27 6f | 2,.1)\npl.imshow(I1)\npl.axis('o |
dba0 | 66 66 27 29 5c 6e 70 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 | ff')\npl.title('Image.1')\n\npl. |
dbc0 | 73 75 62 70 6c 6f 74 28 31 2c 20 32 2c 20 32 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 32 29 5c | subplot(1,.2,.2)\npl.imshow(I2)\ |
dbe0 | 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 |
dc00 | 20 32 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 | .2')\npl.tight_layout()".......] |
dc20 | 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":.[],........" |
dc40 | 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" |
dc60 | 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.......}.....},......{... |
dc80 | 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 50 6c 6f 74 20 70 69 | ...."source":.[........."Plot.pi |
dca0 | 78 65 6c 20 76 61 6c 75 65 73 20 64 69 73 74 72 69 62 75 74 69 6f 6e 5c 6e 2d 2d 2d 2d 2d 2d 2d | xel.values.distribution\n------- |
dcc0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 | -----------------------\n\n".... |
dce0 | 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 |
dd00 | 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":.{}..... |
dd20 | 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 |
dd40 | 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 |
dd60 | 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":.[......... |
dd80 | 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 20 35 29 29 5c | "pl.figure(2,.figsize=(6.4,.5))\ |
dda0 | 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 74 74 | n\npl.subplot(1,.2,.1)\npl.scatt |
ddc0 | 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 29 5c 6e 70 6c | er(Xs[:,.0],.Xs[:,.2],.c=Xs)\npl |
dde0 | 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 62 65 6c 28 27 | .axis([0,.1,.0,.1])\npl.xlabel(' |
de00 | 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 6c 2e 74 69 74 | Red')\npl.ylabel('Blue')\npl.tit |
de20 | 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 28 31 2c 20 32 | le('Image.1')\n\npl.subplot(1,.2 |
de40 | 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 74 5b 3a 2c | ,.2)\npl.scatter(Xt[:,.0],.Xt[:, |
de60 | 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 30 2c 20 31 5d | .2],.c=Xt)\npl.axis([0,.1,.0,.1] |
de80 | 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 65 6c 28 27 | )\npl.xlabel('Red')\npl.ylabel(' |
dea0 | 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 6e 70 6c 2e | Blue')\npl.title('Image.2')\npl. |
dec0 | 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 20 20 20 20 20 | tight_layout()".......],........ |
dee0 | 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" |
df00 | 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.. |
df20 | 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 |
df40 | 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 6c 6f 74 20 74 72 61 6e 73 66 6f 72 6d 65 64 | ce":.[........."Plot.transformed |
df60 | 20 69 6d 61 67 65 73 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | .images\n----------------------- |
df80 | 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 |
dfa0 | 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" |
dfc0 | 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 |
dfe0 | 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 |
e000 | 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":.[ |
e020 | 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 28 | ........."pl.figure(2,.figsize=( |
e040 | 31 30 2c 20 35 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 6e | 10,.5))\n\npl.subplot(2,.3,.1)\n |
e060 | 70 6c 2e 69 6d 73 68 6f 77 28 49 31 29 5c 6e 70 6c 2e 61 78 69 73 28 27 6f 66 66 27 29 5c 6e 70 | pl.imshow(I1)\npl.axis('off')\np |
e080 | 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 |
e0a0 | 2c 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 | ,.3,.4)\npl.imshow(I2)\npl.axis( |
e0c0 | 27 6f 66 66 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 2e 20 32 27 29 5c 6e 5c 6e 70 6c 2e | 'off')\npl.title('Im..2')\n\npl. |
e0e0 | 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 6f 77 28 49 6d 61 67 | subplot(2,.3,.2)\npl.imshow(Imag |
e100 | 65 5f 65 6d 64 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 | e_emd)\npl.axis('off')\npl.title |
e120 | 28 27 45 6d 64 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 | ('EmdTransport')\n\npl.subplot(2 |
e140 | 2c 20 33 2c 20 35 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 6d 61 67 65 5f 73 69 6e 6b 68 6f 72 | ,.3,.5)\npl.imshow(Image_sinkhor |
e160 | 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 6c 65 28 27 53 69 | n)\npl.axis('off')\npl.title('Si |
e180 | 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 75 62 70 6c 6f 74 28 | nkhornTransport')\n\npl.subplot( |
e1a0 | 32 2c 20 33 2c 20 33 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 | 2,.3,.3)\npl.imshow(Image_mappin |
e1c0 | 67 5f 6c 69 6e 65 61 72 29 5c 6e 70 6c 2e 61 78 69 73 28 27 6f 66 66 27 29 5c 6e 70 6c 2e 74 69 | g_linear)\npl.axis('off')\npl.ti |
e1e0 | 74 6c 65 28 27 4d 61 70 70 69 6e 67 54 72 61 6e 73 70 6f 72 74 20 28 6c 69 6e 65 61 72 29 27 29 | tle('MappingTransport.(linear)') |
e200 | 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 33 2c 20 36 29 5c 6e 70 6c 2e 69 6d 73 68 | \n\npl.subplot(2,.3,.6)\npl.imsh |
e220 | 6f 77 28 49 6d 61 67 65 5f 6d 61 70 70 69 6e 67 5f 67 61 75 73 73 69 61 6e 29 5c 6e 70 6c 2e 61 | ow(Image_mapping_gaussian)\npl.a |
e240 | 78 69 73 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 | xis('off')\npl.title('MappingTra |
e260 | 6e 73 70 6f 72 74 20 28 67 61 75 73 73 69 61 6e 29 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 | nsport.(gaussian)')\npl.tight_la |
e280 | 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 0a 20 | yout()\n\npl.show()".......],... |
e2a0 | 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 |
e2c0 | 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 |
e2e0 | 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 61 64 | lse.......}.....}...],...."metad |
e300 | 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 20 20 | ata":.{....."kernelspec":.{..... |
e320 | 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 0a 20 | .."display_name":."Python.2",... |
e340 | 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 20 22 | ....."name":."python2",........" |
e360 | 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 20 20 | language":."python".....},...... |
e380 | 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 74 79 | "language_info":.{......."mimety |
e3a0 | 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 6e 62 | pe":."text/x-python",........"nb |
e3c0 | 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 20 20 | convert_exporter":."python",.... |
e3e0 | 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 66 69 | ...."name":."python",........"fi |
e400 | 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 76 65 | le_extension":.".py",........"ve |
e420 | 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 65 6e | rsion":."2.7.12",........"pygmen |
e440 | 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 22 63 | ts_lexer":."ipython2",........"c |
e460 | 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 72 73 | odemirror_mode":.{........."vers |
e480 | 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 74 68 | ion":.2,.........."name":."ipyth |
e4a0 | 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 00 00 | on".......}.....}...}.}PK....... |
e4c0 | 00 69 4c be 4c 3e 1d 30 6f d5 1a 00 00 d5 1a 00 00 16 00 00 00 70 6c 6f 74 5f 4f 54 5f 4c 31 5f | .iL.L>.0o............plot_OT_L1_ |
e4e0 | 76 73 5f 4c 32 2e 69 70 79 6e 62 7b 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b 0a | vs_L2.ipynb{..."cells":.[.....{. |
e500 | 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 0a 20 20 20 20 20 | ......"cell_type":."code",...... |
e520 | 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 0a 20 20 20 20 20 20 | ."execution_count":.null,....... |
e540 | 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 |
e560 | 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 | ":.false.......},......."outputs |
e580 | 22 3a 20 5b 5d 2c 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":.[........ |
e5a0 | 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 0a 20 20 | ."%matplotlib.inline".......]... |
e5c0 | 20 20 7d 2c 0a 20 20 20 20 7b 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 |
e5e0 | 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a | arkdown",......."metadata":.{},. |
e600 | 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 5c 6e 23 20 32 | ......"source":.[........."\n#.2 |
e620 | 44 20 4f 70 74 69 6d 61 6c 20 74 72 61 6e 73 70 6f 72 74 20 66 6f 72 20 64 69 66 66 65 72 65 6e | D.Optimal.transport.for.differen |
e640 | 74 20 6d 65 74 72 69 63 73 5c 6e 5c 6e 5c 6e 32 44 20 4f 54 20 6f 6e 20 65 6d 70 69 72 69 63 61 | t.metrics\n\n\n2D.OT.on.empirica |
e660 | 6c 20 64 69 73 74 72 69 62 75 74 69 6f 20 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 67 6f | l.distributio..with.different.go |
e680 | 75 6e 64 20 6d 65 74 72 69 63 2e 5c 6e 5c 6e 53 74 6f 6c 65 20 74 68 65 20 66 69 67 75 72 65 20 | und.metric.\n\nStole.the.figure. |
e6a0 | 69 64 65 61 20 66 72 6f 6d 20 46 69 67 2e 20 31 20 61 6e 64 20 32 20 69 6e 5c 6e 68 74 74 70 73 | idea.from.Fig..1.and.2.in\nhttps |
e6c0 | 3a 2f 2f 61 72 78 69 76 2e 6f 72 67 2f 70 64 66 2f 31 37 30 36 2e 30 37 36 35 30 2e 70 64 66 5c | ://arxiv.org/pdf/1706.07650.pdf\ |
e6e0 | 6e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 | n\n\n\n".......].....},.....{... |
e700 | 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 | ...."cell_type":."code",......." |
e720 | 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d | execution_count":.null,......."m |
e740 | 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": |
e760 | 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a | .false.......},......."outputs": |
e780 | 20 5b 5d 2c 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 | .[],......."source":.[........." |
e7a0 | 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 69 2e 66 6c 61 | #.Author:.Remi.Flamary.<remi.fla |
e7c0 | 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 65 3a 20 4d 49 | mary@unice.fr>\n#\n#.License:.MI |
e7e0 | 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 73 20 6e 70 5c | T.License\n\nimport.numpy.as.np\ |
e800 | 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 |
e820 | 69 6d 70 6f 72 74 20 6f 74 5c 6e 69 6d 70 6f 72 74 20 6f 74 2e 70 6c 6f 74 22 0a 20 20 20 20 20 | import.ot\nimport.ot.plot"...... |
e840 | 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 | .].....},.....{......."cell_type |
e860 | 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a | ":."markdown",......."metadata": |
e880 | 20 7b 7d 2c 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 | .{},......."source":.[........." |
e8a0 | 44 61 74 61 73 65 74 20 31 20 3a 20 75 6e 69 66 6f 72 6d 20 73 61 6d 70 6c 69 6e 67 5c 6e 2d 2d | Dataset.1.:.uniform.sampling\n-- |
e8c0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a | --------------------------\n\n". |
e8e0 | 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c | ......].....},.....{......."cell |
e900 | 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e | _type":."code",......."execution |
e920 | 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a | _count":.null,......."metadata": |
e940 | 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... |
e960 | 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 | ....},......."outputs":.[],..... |
e980 | 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 6e 20 3d 20 32 30 20 20 23 | .."source":.[........."n.=.20..# |
e9a0 | 20 6e 62 20 73 61 6d 70 6c 65 73 5c 6e 78 73 20 3d 20 6e 70 2e 7a 65 72 6f 73 28 28 6e 2c 20 32 | .nb.samples\nxs.=.np.zeros((n,.2 |
e9c0 | 29 29 5c 6e 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 | ))\nxs[:,.0].=.np.arange(n).+.1\ |
e9e0 | 6e 78 73 5b 3a 2c 20 31 5d 20 3d 20 28 6e 70 2e 61 72 61 6e 67 65 28 6e 29 20 2b 20 31 29 20 2a | nxs[:,.1].=.(np.arange(n).+.1).* |
ea00 | 20 2d 30 2e 30 30 31 20 20 23 20 74 6f 20 6d 61 6b 65 20 69 74 20 73 74 72 69 63 74 6c 79 20 63 | .-0.001..#.to.make.it.strictly.c |
ea20 | 6f 6e 76 65 78 2e 2e 2e 5c 6e 5c 6e 78 74 20 3d 20 6e 70 2e 7a 65 72 6f 73 28 28 6e 2c 20 32 29 | onvex...\n\nxt.=.np.zeros((n,.2) |
ea40 | 29 5c 6e 78 74 5b 3a 2c 20 31 5d 20 3d 20 6e 70 2e 61 72 61 6e 67 65 28 6e 29 20 2b 20 31 5c 6e | )\nxt[:,.1].=.np.arange(n).+.1\n |
ea60 | 5c 6e 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 28 6e 29 20 | \na,.b.=.ot.unif(n),.ot.unif(n). |
ea80 | 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 61 6d 70 6c | .#.uniform.distribution.on.sampl |
eaa0 | 65 73 5c 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 4d 31 20 3d 20 6f 74 2e 64 69 73 | es\n\n#.loss.matrix\nM1.=.ot.dis |
eac0 | 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 29 5c 6e 4d | t(xs,.xt,.metric='euclidean')\nM |
eae0 | 31 20 2f 3d 20 4d 31 2e 6d 61 78 28 29 5c 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e | 1./=.M1.max()\n\n#.loss.matrix\n |
eb00 | 4d 32 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 73 71 65 | M2.=.ot.dist(xs,.xt,.metric='sqe |
eb20 | 75 63 6c 69 64 65 61 6e 27 29 5c 6e 4d 32 20 2f 3d 20 4d 32 2e 6d 61 78 28 29 5c 6e 5c 6e 23 20 | uclidean')\nM2./=.M2.max()\n\n#. |
eb40 | 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 4d 70 20 3d 20 6e 70 2e 73 71 72 74 28 6f 74 2e 64 69 73 | loss.matrix\nMp.=.np.sqrt(ot.dis |
eb60 | 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 29 29 5c 6e | t(xs,.xt,.metric='euclidean'))\n |
eb80 | 4d 70 20 2f 3d 20 4d 70 2e 6d 61 78 28 29 5c 6e 5c 6e 23 20 44 61 74 61 5c 6e 70 6c 2e 66 69 67 | Mp./=.Mp.max()\n\n#.Data\npl.fig |
eba0 | 75 72 65 28 31 2c 20 66 69 67 73 69 7a 65 3d 28 37 2c 20 33 29 29 5c 6e 70 6c 2e 63 6c 66 28 29 | ure(1,.figsize=(7,.3))\npl.clf() |
ebc0 | 5c 6e 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 2b | \npl.plot(xs[:,.0],.xs[:,.1],.'+ |
ebe0 | 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 70 6c 2e | b',.label='Source.samples')\npl. |
ec00 | 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 72 27 2c 20 6c | plot(xt[:,.0],.xt[:,.1],.'xr',.l |
ec20 | 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 61 78 69 73 28 | abel='Target.samples')\npl.axis( |
ec40 | 27 65 71 75 61 6c 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 53 6f 75 72 63 65 20 61 6e 64 20 74 | 'equal')\npl.title('Source.and.t |
ec60 | 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 23 20 43 6f 73 | arget.distributions')\n\n\n#.Cos |
ec80 | 74 20 6d 61 74 72 69 63 65 73 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 2c 20 66 69 67 73 69 7a 65 | t.matrices\npl.figure(2,.figsize |
eca0 | 3d 28 37 2c 20 33 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 33 2c 20 31 29 5c | =(7,.3))\n\npl.subplot(1,.3,.1)\ |
ecc0 | 6e 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 | npl.imshow(M1,.interpolation='ne |
ece0 | 61 72 65 73 74 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 45 75 63 6c 69 64 65 61 6e 20 63 6f 73 | arest')\npl.title('Euclidean.cos |
ed00 | 74 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 33 2c 20 32 29 5c 6e 70 6c 2e 69 | t')\n\npl.subplot(1,.3,.2)\npl.i |
ed20 | 6d 73 68 6f 77 28 4d 32 2c 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 73 74 | mshow(M2,.interpolation='nearest |
ed40 | 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 53 71 75 61 72 65 64 20 45 75 63 6c 69 64 65 61 6e 20 | ')\npl.title('Squared.Euclidean. |
ed60 | 63 6f 73 74 27 29 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 | cost')\n\npl.subplot(1,.3,.3)\np |
ed80 | 6c 2e 69 6d 73 68 6f 77 28 4d 70 2c 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 | l.imshow(Mp,.interpolation='near |
eda0 | 65 73 74 27 29 5c 6e 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 | est')\npl.title('Sqrt.Euclidean. |
edc0 | 63 6f 73 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 20 | cost')\npl.tight_layout()"...... |
ede0 | 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 | .].....},.....{......."cell_type |
ee00 | 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a | ":."markdown",......."metadata": |
ee20 | 20 7b 7d 2c 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 | .{},......."source":.[........." |
ee40 | 44 61 74 61 73 65 74 20 31 20 3a 20 50 6c 6f 74 20 4f 54 20 4d 61 74 72 69 63 65 73 5c 6e 2d 2d | Dataset.1.:.Plot.OT.Matrices\n-- |
ee60 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a | --------------------------\n\n". |
ee80 | 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c | ......].....},.....{......."cell |
eea0 | 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e | _type":."code",......."execution |
eec0 | 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a | _count":.null,......."metadata": |
eee0 | 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... |
ef00 | 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 | ....},......."outputs":.[],..... |
ef20 | 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 25 25 20 45 4d 44 5c 6e | .."source":.[........."#%%.EMD\n |
ef40 | 47 31 20 3d 20 6f 74 2e 65 6d 64 28 61 2c 20 62 2c 20 4d 31 29 5c 6e 47 32 20 3d 20 6f 74 2e 65 | G1.=.ot.emd(a,.b,.M1)\nG2.=.ot.e |
ef60 | 6d 64 28 61 2c 20 62 2c 20 4d 32 29 5c 6e 47 70 20 3d 20 6f 74 2e 65 6d 64 28 61 2c 20 62 2c 20 | md(a,.b,.M2)\nGp.=.ot.emd(a,.b,. |
ef80 | 4d 70 29 5c 6e 5c 6e 23 20 4f 54 20 6d 61 74 72 69 63 65 73 5c 6e 70 6c 2e 66 69 67 75 72 65 28 | Mp)\n\n#.OT.matrices\npl.figure( |
efa0 | 33 2c 20 66 69 67 73 69 7a 65 3d 28 37 2c 20 33 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 | 3,.figsize=(7,.3))\n\npl.subplot |
efc0 | 28 31 2c 20 33 2c 20 31 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 6c 65 | (1,.3,.1)\not.plot.plot2D_sample |
efe0 | 73 5f 6d 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 | s_mat(xs,.xt,.G1,.c=[.5,..5,.1]) |
f000 | 5c 6e 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 2b | \npl.plot(xs[:,.0],.xs[:,.1],.'+ |
f020 | 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 70 6c 2e | b',.label='Source.samples')\npl. |
f040 | 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 72 27 2c 20 6c | plot(xt[:,.0],.xt[:,.1],.'xr',.l |
f060 | 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 61 78 69 73 28 | abel='Target.samples')\npl.axis( |
f080 | 27 65 71 75 61 6c 27 29 5c 6e 23 20 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c | 'equal')\n#.pl.legend(loc=0)\npl |
f0a0 | 2e 74 69 74 6c 65 28 27 4f 54 20 45 75 63 6c 69 64 65 61 6e 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 | .title('OT.Euclidean')\n\npl.sub |
f0c0 | 70 6c 6f 74 28 31 2c 20 33 2c 20 32 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 | plot(1,.3,.2)\not.plot.plot2D_sa |
f0e0 | 6d 70 6c 65 73 5f 6d 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 | mples_mat(xs,.xt,.G2,.c=[.5,..5, |
f100 | 20 31 5d 29 5c 6e 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 | .1])\npl.plot(xs[:,.0],.xs[:,.1] |
f120 | 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 65 73 27 29 5c | ,.'+b',.label='Source.samples')\ |
f140 | 6e 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 72 | npl.plot(xt[:,.0],.xt[:,.1],.'xr |
f160 | 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 70 6c 2e 61 | ',.label='Target.samples')\npl.a |
f180 | 78 69 73 28 27 65 71 75 61 6c 27 29 5c 6e 23 20 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 | xis('equal')\n#.pl.legend(loc=0) |
f1a0 | 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 73 71 75 61 72 65 64 20 45 75 63 6c 69 64 65 61 6e | \npl.title('OT.squared.Euclidean |
f1c0 | 27 29 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 6f 74 2e 70 6c | ')\n\npl.subplot(1,.3,.3)\not.pl |
f1e0 | 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 74 2c 20 47 70 | ot.plot2D_samples_mat(xs,.xt,.Gp |
f200 | 2c 20 63 3d 5b 2e 35 2c 20 2e 35 2c 20 31 5d 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a 2c 20 | ,.c=[.5,..5,.1])\npl.plot(xs[:,. |
f220 | 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 75 72 63 | 0],.xs[:,.1],.'+b',.label='Sourc |
f240 | 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 2c 20 78 | e.samples')\npl.plot(xt[:,.0],.x |
f260 | 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 73 61 6d | t[:,.1],.'xr',.label='Target.sam |
f280 | 70 6c 65 73 27 29 5c 6e 70 6c 2e 61 78 69 73 28 27 65 71 75 61 6c 27 29 5c 6e 23 20 70 6c 2e 6c | ples')\npl.axis('equal')\n#.pl.l |
f2a0 | 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 54 20 73 71 72 74 20 | egend(loc=0)\npl.title('OT.sqrt. |
f2c0 | 45 75 63 6c 69 64 65 61 6e 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 5c 6e | Euclidean')\npl.tight_layout()\n |
f2e0 | 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 | \npl.show()".......].....},..... |
f300 | 7b 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", |
f320 | 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f | ......."metadata":.{},......."so |
f340 | 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 44 61 74 61 73 65 74 20 32 20 3a 20 50 61 | urce":.[........."Dataset.2.:.Pa |
f360 | 72 74 69 61 6c 20 63 69 72 63 6c 65 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | rtial.circle\n------------------ |
f380 | 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 | --------\n\n".......].....},.... |
f3a0 | 20 7b 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 0a 20 20 | .{......."cell_type":."code",... |
f3c0 | 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 0a 20 20 20 | ...."execution_count":.null,.... |
f3e0 | 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 |
f400 | 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 | sed":.false.......},......."outp |
f420 | 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 | uts":.[],......."source":.[..... |
f440 | 20 20 20 20 22 6e 20 3d 20 35 30 20 20 23 20 6e 62 20 73 61 6d 70 6c 65 73 5c 6e 78 74 6f 74 20 | ...."n.=.50..#.nb.samples\nxtot. |
f460 | 3d 20 6e 70 2e 7a 65 72 6f 73 28 28 6e 20 2b 20 31 2c 20 32 29 29 5c 6e 78 74 6f 74 5b 3a 2c 20 | =.np.zeros((n.+.1,.2))\nxtot[:,. |
f480 | 30 5d 20 3d 20 6e 70 2e 63 6f 73 28 5c 6e 20 20 20 20 28 6e 70 2e 61 72 61 6e 67 65 28 6e 20 2b | 0].=.np.cos(\n....(np.arange(n.+ |
f4a0 | 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.* |
f4c0 | 20 6e 70 2e 70 69 29 5c 6e 78 74 6f 74 5b 3a 2c 20 31 5d 20 3d 20 6e 70 2e 73 69 6e 28 5c 6e 20 | .np.pi)\nxtot[:,.1].=.np.sin(\n. |
f4e0 | 20 20 20 28 6e 70 2e 61 72 61 6e 67 65 28 6e 20 2b 20 31 29 20 2b 20 31 2e 30 29 20 2a 20 30 2e | ...(np.arange(n.+.1).+.1.0).*.0. |
f500 | 39 20 2f 20 28 6e 20 2b 20 32 29 20 2a 20 32 20 2a 20 6e 70 2e 70 69 29 5c 6e 5c 6e 78 73 20 3d | 9./.(n.+.2).*.2.*.np.pi)\n\nxs.= |
f520 | 20 78 74 6f 74 5b 3a 6e 2c 20 3a 5d 5c 6e 78 74 20 3d 20 78 74 6f 74 5b 31 3a 2c 20 3a 5d 5c 6e | .xtot[:n,.:]\nxt.=.xtot[1:,.:]\n |
f540 | 5c 6e 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 28 6e 29 20 | \na,.b.=.ot.unif(n),.ot.unif(n). |
f560 | 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 61 6d 70 6c | .#.uniform.distribution.on.sampl |
f580 | 65 73 5c 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 4d 31 20 3d 20 6f 74 2e 64 69 73 | es\n\n#.loss.matrix\nM1.=.ot.dis |
f5a0 | 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 29 5c 6e 4d | t(xs,.xt,.metric='euclidean')\nM |
f5c0 | 31 20 2f 3d 20 4d 31 2e 6d 61 78 28 29 5c 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e | 1./=.M1.max()\n\n#.loss.matrix\n |
f5e0 | 4d 32 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 73 71 65 | M2.=.ot.dist(xs,.xt,.metric='sqe |
f600 | 75 63 6c 69 64 65 61 6e 27 29 5c 6e 4d 32 20 2f 3d 20 4d 32 2e 6d 61 78 28 29 5c 6e 5c 6e 23 20 | uclidean')\nM2./=.M2.max()\n\n#. |
f620 | 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 4d 70 20 3d 20 6e 70 2e 73 71 72 74 28 6f 74 2e 64 69 73 | loss.matrix\nMp.=.np.sqrt(ot.dis |
f640 | 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 29 29 5c 6e | t(xs,.xt,.metric='euclidean'))\n |
f660 | 4d 70 20 2f 3d 20 4d 70 2e 6d 61 78 28 29 5c 6e 5c 6e 5c 6e 23 20 44 61 74 61 5c 6e 70 6c 2e 66 | Mp./=.Mp.max()\n\n\n#.Data\npl.f |
f680 | 69 67 75 72 65 28 34 2c 20 66 69 67 73 69 7a 65 3d 28 37 2c 20 33 29 29 5c 6e 70 6c 2e 63 6c 66 | igure(4,.figsize=(7,.3))\npl.clf |
f6a0 | 28 29 5c 6e 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 | ()\npl.plot(xs[:,.0],.xs[:,.1],. |
f6c0 | 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 65 73 27 29 5c 6e 70 | '+b',.label='Source.samples')\np |
f6e0 | 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 72 27 2c | l.plot(xt[:,.0],.xt[:,.1],.'xr', |
f700 | 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 61 78 69 | .label='Target.samples')\npl.axi |
f720 | 73 28 27 65 71 75 61 6c 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 53 6f 75 72 63 65 20 61 6e 64 | s('equal')\npl.title('Source.and |
f740 | 20 74 72 61 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 23 20 43 | .traget.distributions')\n\n\n#.C |
f760 | 6f 73 74 20 6d 61 74 72 69 63 65 73 5c 6e 70 6c 2e 66 69 67 75 72 65 28 35 2c 20 66 69 67 73 69 | ost.matrices\npl.figure(5,.figsi |
f780 | 7a 65 3d 28 37 2c 20 33 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 33 2c 20 31 | ze=(7,.3))\n\npl.subplot(1,.3,.1 |
f7a0 | 29 5c 6e 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 | )\npl.imshow(M1,.interpolation=' |
f7c0 | 6e 65 61 72 65 73 74 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 45 75 63 6c 69 64 65 61 6e 20 63 | nearest')\npl.title('Euclidean.c |
f7e0 | 6f 73 74 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 33 2c 20 32 29 5c 6e 70 6c | ost')\n\npl.subplot(1,.3,.2)\npl |
f800 | 2e 69 6d 73 68 6f 77 28 4d 32 2c 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 | .imshow(M2,.interpolation='neare |
f820 | 73 74 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 53 71 75 61 72 65 64 20 45 75 63 6c 69 64 65 61 | st')\npl.title('Squared.Euclidea |
f840 | 6e 20 63 6f 73 74 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 20 33 2c 20 33 29 5c | n.cost')\n\npl.subplot(1,.3,.3)\ |
f860 | 6e 70 6c 2e 69 6d 73 68 6f 77 28 4d 70 2c 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 | npl.imshow(Mp,.interpolation='ne |
f880 | 61 72 65 73 74 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 53 71 72 74 20 45 75 63 6c 69 64 65 61 | arest')\npl.title('Sqrt.Euclidea |
f8a0 | 6e 20 63 6f 73 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 | n.cost')\npl.tight_layout()".... |
f8c0 | 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 | ...].....},.....{......."cell_ty |
f8e0 | 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 | pe":."markdown",......."metadata |
f900 | 22 3a 20 7b 7d 2c 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":.[........ |
f920 | 20 22 44 61 74 61 73 65 74 20 32 20 3a 20 50 6c 6f 74 20 20 4f 54 20 4d 61 74 72 69 63 65 73 5c | ."Dataset.2.:.Plot..OT.Matrices\ |
f940 | 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e | n-----------------------------\n |
f960 | 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 | \n".......].....},.....{......." |
f980 | 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 | cell_type":."code",......."execu |
f9a0 | 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 | tion_count":.null,......."metada |
f9c0 | 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 |
f9e0 | 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a | e.......},......."outputs":.[],. |
fa00 | 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 25 25 20 45 | ......"source":.[........."#%%.E |
fa20 | 4d 44 5c 6e 47 31 20 3d 20 6f 74 2e 65 6d 64 28 61 2c 20 62 2c 20 4d 31 29 5c 6e 47 32 20 3d 20 | MD\nG1.=.ot.emd(a,.b,.M1)\nG2.=. |
fa40 | 6f 74 2e 65 6d 64 28 61 2c 20 62 2c 20 4d 32 29 5c 6e 47 70 20 3d 20 6f 74 2e 65 6d 64 28 61 2c | ot.emd(a,.b,.M2)\nGp.=.ot.emd(a, |
fa60 | 20 62 2c 20 4d 70 29 5c 6e 5c 6e 23 20 4f 54 20 6d 61 74 72 69 63 65 73 5c 6e 70 6c 2e 66 69 67 | .b,.Mp)\n\n#.OT.matrices\npl.fig |
fa80 | 75 72 65 28 36 2c 20 66 69 67 73 69 7a 65 3d 28 37 2c 20 33 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 | ure(6,.figsize=(7,.3))\n\npl.sub |
faa0 | 70 6c 6f 74 28 31 2c 20 33 2c 20 31 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 | plot(1,.3,.1)\not.plot.plot2D_sa |
fac0 | 6d 70 6c 65 73 5f 6d 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 | mples_mat(xs,.xt,.G1,.c=[.5,..5, |
fae0 | 20 31 5d 29 5c 6e 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 | .1])\npl.plot(xs[:,.0],.xs[:,.1] |
fb00 | 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 65 73 27 29 5c | ,.'+b',.label='Source.samples')\ |
fb20 | 6e 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 72 | npl.plot(xt[:,.0],.xt[:,.1],.'xr |
fb40 | 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 70 6c 2e 61 | ',.label='Target.samples')\npl.a |
fb60 | 78 69 73 28 27 65 71 75 61 6c 27 29 5c 6e 23 20 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 | xis('equal')\n#.pl.legend(loc=0) |
fb80 | 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 45 75 63 6c 69 64 65 61 6e 27 29 5c 6e 5c 6e 70 6c | \npl.title('OT.Euclidean')\n\npl |
fba0 | 2e 73 75 62 70 6c 6f 74 28 31 2c 20 33 2c 20 32 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 | .subplot(1,.3,.2)\not.plot.plot2 |
fbc0 | 44 5f 73 61 6d 70 6c 65 73 5f 6d 61 74 28 78 73 2c 20 78 74 2c 20 47 32 2c 20 63 3d 5b 2e 35 2c | D_samples_mat(xs,.xt,.G2,.c=[.5, |
fbe0 | 20 2e 35 2c 20 31 5d 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a 2c 20 30 5d 2c 20 78 73 5b 3a | ..5,.1])\npl.plot(xs[:,.0],.xs[: |
fc00 | 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 65 | ,.1],.'+b',.label='Source.sample |
fc20 | 73 27 29 5c 6e 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 | s')\npl.plot(xt[:,.0],.xt[:,.1], |
fc40 | 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 73 27 29 5c 6e | .'xr',.label='Target.samples')\n |
fc60 | 70 6c 2e 61 78 69 73 28 27 65 71 75 61 6c 27 29 5c 6e 23 20 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f | pl.axis('equal')\n#.pl.legend(lo |
fc80 | 63 3d 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 73 71 75 61 72 65 64 20 45 75 63 6c 69 | c=0)\npl.title('OT.squared.Eucli |
fca0 | 64 65 61 6e 27 29 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 6f | dean')\n\npl.subplot(1,.3,.3)\no |
fcc0 | 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 74 | t.plot.plot2D_samples_mat(xs,.xt |
fce0 | 2c 20 47 70 2c 20 63 3d 5b 2e 35 2c 20 2e 35 2c 20 31 5d 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 73 | ,.Gp,.c=[.5,..5,.1])\npl.plot(xs |
fd00 | 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 6c 3d 27 53 | [:,.0],.xs[:,.1],.'+b',.label='S |
fd20 | 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 3a 2c 20 30 | ource.samples')\npl.plot(xt[:,.0 |
fd40 | 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 72 67 65 74 | ],.xt[:,.1],.'xr',.label='Target |
fd60 | 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 61 78 69 73 28 27 65 71 75 61 6c 27 29 5c 6e 23 20 | .samples')\npl.axis('equal')\n#. |
fd80 | 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 4f 54 20 73 | pl.legend(loc=0)\npl.title('OT.s |
fda0 | 71 72 74 20 45 75 63 6c 69 64 65 61 6e 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 | qrt.Euclidean')\npl.tight_layout |
fdc0 | 28 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 0a 20 | ()\n\npl.show()".......].....}.. |
fde0 | 20 5d 2c 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 | .],..."metadata":.{....."kernels |
fe00 | 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 50 | pec":.{......."display_name":."P |
fe20 | 79 74 68 6f 6e 20 33 22 2c 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 | ython.3",......."language":."pyt |
fe40 | 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 33 22 0a 20 20 | hon",......."name":."python3"... |
fe60 | 20 20 7d 2c 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":.{..... |
fe80 | 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":.{........." |
fea0 | 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 | name":."ipython",........."versi |
fec0 | 6f 6e 22 3a 20 33 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 | on":.3.......},......."file_exte |
fee0 | 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a | nsion":.".py",......."mimetype": |
ff00 | 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 | ."text/x-python",......."name":. |
ff20 | 22 70 79 74 68 6f 6e 22 2c 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 |
ff40 | 74 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f | ter":."python",......."pygments_ |
ff60 | 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 33 22 2c 0a 20 20 20 20 20 20 22 76 65 72 73 69 | lexer":."ipython3",......."versi |
ff80 | 6f 6e 22 3a 20 22 33 2e 36 2e 35 22 0a 20 20 20 20 7d 0a 20 20 7d 2c 0a 20 20 22 6e 62 66 6f 72 | on":."3.6.5".....}...},..."nbfor |
ffa0 | 6d 61 74 22 3a 20 34 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 0a 7d | mat":.4,..."nbformat_minor":.0.} |
ffc0 | 50 4b 03 04 14 00 00 00 00 00 97 53 be 4c f9 b0 b7 c4 b9 1d 00 00 b9 1d 00 00 24 00 00 00 70 6c | PK.........S.L............$...pl |
ffe0 | 6f 74 5f 62 61 72 79 63 65 6e 74 65 72 5f 6c 70 5f 76 73 5f 65 6e 74 72 6f 70 69 63 2e 69 70 79 | ot_barycenter_lp_vs_entropic.ipy |
10000 | 6e 62 7b 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 63 65 | nb{..."cells":.[.....{......."ce |
10020 | 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 | ll_type":."code",......."executi |
10040 | 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 | on_count":.null,......."metadata |
10060 | 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 65 0a | ":.{........."collapsed":.false. |
10080 | 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 | ......},......."outputs":.[],... |
100a0 | 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 |
100c0 | 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 | tlib.inline".......].....},..... |
100e0 | 7b 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", |
10100 | 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f | ......."metadata":.{},......."so |
10120 | 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 73 | urce":.[........."\n#.1D.Wassers |
10140 | 74 65 69 6e 20 62 61 72 79 63 65 6e 74 65 72 20 63 6f 6d 70 61 72 69 73 6f 6e 20 62 65 74 77 65 | tein.barycenter.comparison.betwe |
10160 | 65 6e 20 65 78 61 63 74 20 4c 50 20 61 6e 64 20 65 6e 74 72 6f 70 69 63 20 72 65 67 75 6c 61 72 | en.exact.LP.and.entropic.regular |
10180 | 69 7a 61 74 69 6f 6e 5c 6e 5c 6e 5c 6e 54 68 69 73 20 65 78 61 6d 70 6c 65 20 69 6c 6c 75 73 74 | ization\n\n\nThis.example.illust |
101a0 | 72 61 74 65 73 20 74 68 65 20 63 6f 6d 70 75 74 61 74 69 6f 6e 20 6f 66 20 72 65 67 75 6c 61 72 | rates.the.computation.of.regular |
101c0 | 69 7a 65 64 20 57 61 73 73 65 72 73 74 65 69 6e 20 42 61 72 79 63 65 6e 74 65 72 5c 6e 61 73 20 | ized.Wasserstein.Barycenter\nas. |
101e0 | 70 72 6f 70 6f 73 65 64 20 69 6e 20 5b 33 5d 20 61 6e 64 20 65 78 61 63 74 20 4c 50 20 62 61 72 | proposed.in.[3].and.exact.LP.bar |
10200 | 79 63 65 6e 74 65 72 73 20 75 73 69 6e 67 20 73 74 61 6e 64 61 72 64 20 4c 50 20 73 6f 6c 76 65 | ycenters.using.standard.LP.solve |
10220 | 72 2e 5c 6e 5c 6e 49 74 20 72 65 70 72 6f 64 75 63 65 73 20 61 70 70 72 6f 78 69 6d 61 74 65 6c | r.\n\nIt.reproduces.approximatel |
10240 | 79 20 46 69 67 75 72 65 20 33 2e 31 20 61 6e 64 20 33 2e 32 20 66 72 6f 6d 20 74 68 65 20 66 6f | y.Figure.3.1.and.3.2.from.the.fo |
10260 | 6c 6c 6f 77 69 6e 67 20 70 61 70 65 72 3a 5c 6e 43 75 74 75 72 69 2c 20 4d 2e 2c 20 26 20 50 65 | llowing.paper:\nCuturi,.M.,.&.Pe |
10280 | 79 72 5c 75 30 30 65 39 2c 20 47 2e 20 28 32 30 31 36 29 2e 20 41 20 73 6d 6f 6f 74 68 65 64 20 | yr\u00e9,.G..(2016)..A.smoothed. |
102a0 | 64 75 61 6c 20 61 70 70 72 6f 61 63 68 20 66 6f 72 20 76 61 72 69 61 74 69 6f 6e 61 6c 5c 6e 57 | dual.approach.for.variational\nW |
102c0 | 61 73 73 65 72 73 74 65 69 6e 20 70 72 6f 62 6c 65 6d 73 2e 20 53 49 41 4d 20 4a 6f 75 72 6e 61 | asserstein.problems..SIAM.Journa |
102e0 | 6c 20 6f 6e 20 49 6d 61 67 69 6e 67 20 53 63 69 65 6e 63 65 73 2c 20 39 28 31 29 2c 20 33 32 30 | l.on.Imaging.Sciences,.9(1),.320 |
10300 | 2d 33 34 33 2e 5c 6e 5c 6e 5b 33 5d 20 42 65 6e 61 6d 6f 75 2c 20 4a 2e 20 44 2e 2c 20 43 61 72 | -343.\n\n[3].Benamou,.J..D.,.Car |
10320 | 6c 69 65 72 2c 20 47 2e 2c 20 43 75 74 75 72 69 2c 20 4d 2e 2c 20 4e 65 6e 6e 61 2c 20 4c 2e 2c | lier,.G.,.Cuturi,.M.,.Nenna,.L., |
10340 | 20 26 20 50 65 79 72 5c 75 30 30 65 39 2c 20 47 2e 20 28 32 30 31 35 29 2e 5c 6e 49 74 65 72 61 | .&.Peyr\u00e9,.G..(2015).\nItera |
10360 | 74 69 76 65 20 42 72 65 67 6d 61 6e 20 70 72 6f 6a 65 63 74 69 6f 6e 73 20 66 6f 72 20 72 65 67 | tive.Bregman.projections.for.reg |
10380 | 75 6c 61 72 69 7a 65 64 20 74 72 61 6e 73 70 6f 72 74 61 74 69 6f 6e 20 70 72 6f 62 6c 65 6d 73 | ularized.transportation.problems |
103a0 | 5c 6e 53 49 41 4d 20 4a 6f 75 72 6e 61 6c 20 6f 6e 20 53 63 69 65 6e 74 69 66 69 63 20 43 6f 6d | \nSIAM.Journal.on.Scientific.Com |
103c0 | 70 75 74 69 6e 67 2c 20 33 37 28 32 29 2c 20 41 31 31 31 31 2d 41 31 31 33 38 2e 5c 6e 5c 6e 5c | puting,.37(2),.A1111-A1138.\n\n\ |
103e0 | 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 | n".......].....},.....{......."c |
10400 | 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 | ell_type":."code",......."execut |
10420 | 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 | ion_count":.null,......."metadat |
10440 | 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 65 | a":.{........."collapsed":.false |
10460 | 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 | .......},......."outputs":.[],.. |
10480 | 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 74 68 | ....."source":.[........."#.Auth |
104a0 | 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 40 75 | or:.Remi.Flamary.<remi.flamary@u |
104c0 | 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 63 65 | nice.fr>\n#\n#.License:.MIT.Lice |
104e0 | 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 6f 72 | nse\n\nimport.numpy.as.np\nimpor |
10500 | 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 74 | t.matplotlib.pylab.as.pl\nimport |
10520 | 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 76 65 | .ot\n#.necessary.for.3d.plot.eve |
10540 | 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 74 73 | n.if.not.used\nfrom.mpl_toolkits |
10560 | 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 5c 6e | .mplot3d.import.Axes3D..#.noqa\n |
10580 | 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 70 6f | from.matplotlib.collections.impo |
105a0 | 72 74 20 50 6f 6c 79 43 6f 6c 6c 65 63 74 69 6f 6e 20 20 23 20 6e 6f 71 61 5c 6e 5c 6e 23 69 6d | rt.PolyCollection..#.noqa\n\n#im |
105c0 | 70 6f 72 74 20 6f 74 2e 6c 70 2e 63 76 78 20 61 73 20 63 76 78 22 0a 20 20 20 20 20 20 5d 0a 20 | port.ot.lp.cvx.as.cvx".......].. |
105e0 | 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 | ...},.....{......."cell_type":." |
10600 | 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c | markdown",......."metadata":.{}, |
10620 | 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 47 61 75 73 | ......."source":.[........."Gaus |
10640 | 73 69 61 6e 20 44 61 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 | sian.Data\n-------------\n\n"... |
10660 | 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 | ....].....},.....{......."cell_t |
10680 | 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 | ype":."code",......."execution_c |
106a0 | 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b | ount":.null,......."metadata":.{ |
106c0 | 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..... |
106e0 | 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 | ..},......."outputs":.[],....... |
10700 | 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 25 25 20 70 61 72 61 6d 65 74 | "source":.[........."#%%.paramet |
10720 | 65 72 73 5c 6e 5c 6e 70 72 6f 62 6c 65 6d 73 20 3d 20 5b 5d 5c 6e 5c 6e 6e 20 3d 20 31 30 30 20 | ers\n\nproblems.=.[]\n\nn.=.100. |
10740 | 20 23 20 6e 62 20 62 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 | .#.nb.bins\n\n#.bin.positions\nx |
10760 | 20 3d 20 6e 70 2e 61 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 | .=.np.arange(n,.dtype=np.float64 |
10780 | 29 5c 6e 5c 6e 23 20 47 61 75 73 73 69 61 6e 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 23 | )\n\n#.Gaussian.distributions\n# |
107a0 | 20 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 31 20 3d 20 6f 74 | .Gaussian.distributions\na1.=.ot |
107c0 | 2e 64 61 74 61 73 65 74 73 2e 6d 61 6b 65 5f 31 44 5f 67 61 75 73 73 28 6e 2c 20 6d 3d 32 30 2c | .datasets.make_1D_gauss(n,.m=20, |
107e0 | 20 73 3d 35 29 20 20 23 20 6d 3d 20 6d 65 61 6e 2c 20 73 3d 20 73 74 64 5c 6e 61 32 20 3d 20 6f | .s=5)..#.m=.mean,.s=.std\na2.=.o |
10800 | 74 2e 64 61 74 61 73 65 74 73 2e 6d 61 6b 65 5f 31 44 5f 67 61 75 73 73 28 6e 2c 20 6d 3d 36 30 | t.datasets.make_1D_gauss(n,.m=60 |
10820 | 2c 20 73 3d 38 29 5c 6e 5c 6e 23 20 63 72 65 61 74 69 6e 67 20 6d 61 74 72 69 78 20 41 20 63 6f | ,.s=8)\n\n#.creating.matrix.A.co |
10840 | 6e 74 61 69 6e 69 6e 67 20 61 6c 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 41 20 3d 20 | ntaining.all.distributions\nA.=. |
10860 | 6e 70 2e 76 73 74 61 63 6b 28 28 61 31 2c 20 61 32 29 29 2e 54 5c 6e 6e 5f 64 69 73 74 72 69 62 | np.vstack((a1,.a2)).T\nn_distrib |
10880 | 75 74 69 6f 6e 73 20 3d 20 41 2e 73 68 61 70 65 5b 31 5d 5c 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 | utions.=.A.shape[1]\n\n#.loss.ma |
108a0 | 74 72 69 78 20 2b 20 6e 6f 72 6d 61 6c 69 7a 61 74 69 6f 6e 5c 6e 4d 20 3d 20 6f 74 2e 75 74 69 | trix.+.normalization\nM.=.ot.uti |
108c0 | 6c 73 2e 64 69 73 74 30 28 6e 29 5c 6e 4d 20 2f 3d 20 4d 2e 6d 61 78 28 29 5c 6e 5c 6e 5c 6e 23 | ls.dist0(n)\nM./=.M.max()\n\n\n# |
108e0 | 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 70 6c 2e | %%.plot.the.distributions\n\npl. |
10900 | 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 66 6f 72 | figure(1,.figsize=(6.4,.3))\nfor |
10920 | 20 69 20 69 6e 20 72 61 6e 67 65 28 6e 5f 64 69 73 74 72 69 62 75 74 69 6f 6e 73 29 3a 5c 6e 20 | .i.in.range(n_distributions):\n. |
10940 | 20 20 20 70 6c 2e 70 6c 6f 74 28 78 2c 20 41 5b 3a 2c 20 69 5d 29 5c 6e 70 6c 2e 74 69 74 6c 65 | ...pl.plot(x,.A[:,.i])\npl.title |
10960 | 28 27 44 69 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f | ('Distributions')\npl.tight_layo |
10980 | 75 74 28 29 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 61 74 69 | ut()\n\n#%%.barycenter.computati |
109a0 | 6f 6e 5c 6e 5c 6e 61 6c 70 68 61 20 3d 20 30 2e 35 20 20 23 20 30 3c 3d 61 6c 70 68 61 3c 3d 31 | on\n\nalpha.=.0.5..#.0<=alpha<=1 |
109c0 | 5c 6e 77 65 69 67 68 74 73 20 3d 20 6e 70 2e 61 72 72 61 79 28 5b 31 20 2d 20 61 6c 70 68 61 2c | \nweights.=.np.array([1.-.alpha, |
109e0 | 20 61 6c 70 68 61 5d 29 5c 6e 5c 6e 23 20 6c 32 62 61 72 79 5c 6e 62 61 72 79 5f 6c 32 20 3d 20 | .alpha])\n\n#.l2bary\nbary_l2.=. |
10a00 | 41 2e 64 6f 74 28 77 65 69 67 68 74 73 29 5c 6e 5c 6e 23 20 77 61 73 73 65 72 73 74 65 69 6e 5c | A.dot(weights)\n\n#.wasserstein\ |
10a20 | 6e 72 65 67 20 3d 20 31 65 2d 33 5c 6e 6f 74 2e 74 69 63 28 29 5c 6e 62 61 72 79 5f 77 61 73 73 | nreg.=.1e-3\not.tic()\nbary_wass |
10a40 | 20 3d 20 6f 74 2e 62 72 65 67 6d 61 6e 2e 62 61 72 79 63 65 6e 74 65 72 28 41 2c 20 4d 2c 20 72 | .=.ot.bregman.barycenter(A,.M,.r |
10a60 | 65 67 2c 20 77 65 69 67 68 74 73 29 5c 6e 6f 74 2e 74 6f 63 28 29 5c 6e 5c 6e 5c 6e 6f 74 2e 74 | eg,.weights)\not.toc()\n\n\not.t |
10a80 | 69 63 28 29 5c 6e 62 61 72 79 5f 77 61 73 73 32 20 3d 20 6f 74 2e 6c 70 2e 62 61 72 79 63 65 6e | ic()\nbary_wass2.=.ot.lp.barycen |
10aa0 | 74 65 72 28 41 2c 20 4d 2c 20 77 65 69 67 68 74 73 2c 20 73 6f 6c 76 65 72 3d 27 69 6e 74 65 72 | ter(A,.M,.weights,.solver='inter |
10ac0 | 69 6f 72 2d 70 6f 69 6e 74 27 2c 20 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 6f 74 2e 74 6f | ior-point',.verbose=True)\not.to |
10ae0 | 63 28 29 5c 6e 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 | c()\n\npl.figure(2)\npl.clf()\np |
10b00 | 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 31 2c 20 31 29 5c 6e 66 6f 72 20 69 20 69 6e 20 72 61 6e | l.subplot(2,.1,.1)\nfor.i.in.ran |
10b20 | 67 65 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 | ge(n_distributions):\n....pl.plo |
10b40 | 74 28 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 | t(x,.A[:,.i])\npl.title('Distrib |
10b60 | 75 74 69 6f 6e 73 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 31 2c 20 32 29 5c | utions')\n\npl.subplot(2,.1,.2)\ |
10b80 | 6e 70 6c 2e 70 6c 6f 74 28 78 2c 20 62 61 72 79 5f 6c 32 2c 20 27 72 27 2c 20 6c 61 62 65 6c 3d | npl.plot(x,.bary_l2,.'r',.label= |
10ba0 | 27 6c 32 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 20 62 61 72 79 5f 77 61 73 73 2c 20 27 67 27 | 'l2')\npl.plot(x,.bary_wass,.'g' |
10bc0 | 2c 20 6c 61 62 65 6c 3d 27 52 65 67 20 57 61 73 73 65 72 73 74 65 69 6e 27 29 5c 6e 70 6c 2e 70 | ,.label='Reg.Wasserstein')\npl.p |
10be0 | 6c 6f 74 28 78 2c 20 62 61 72 79 5f 77 61 73 73 32 2c 20 27 62 27 2c 20 6c 61 62 65 6c 3d 27 4c | lot(x,.bary_wass2,.'b',.label='L |
10c00 | 50 20 57 61 73 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 | P.Wasserstein')\npl.legend()\npl |
10c20 | 2e 74 69 74 6c 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 | .title('Barycenters')\npl.tight_ |
10c40 | 6c 61 79 6f 75 74 28 29 5c 6e 5c 6e 70 72 6f 62 6c 65 6d 73 2e 61 70 70 65 6e 64 28 5b 41 2c 20 | layout()\n\nproblems.append([A,. |
10c60 | 5b 62 61 72 79 5f 6c 32 2c 20 62 61 72 79 5f 77 61 73 73 2c 20 62 61 72 79 5f 77 61 73 73 32 5d | [bary_l2,.bary_wass,.bary_wass2] |
10c80 | 5d 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 | ])".......].....},.....{......." |
10ca0 | 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d | cell_type":."markdown",......."m |
10cc0 | 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a | etadata":.{},......."source":.[. |
10ce0 | 20 20 20 20 20 20 20 20 22 44 69 72 61 63 20 44 61 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c | ........"Dirac.Data\n----------\ |
10d00 | 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 | n\n".......].....},.....{....... |
10d20 | 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 | "cell_type":."code",......."exec |
10d40 | 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 | ution_count":.null,......."metad |
10d60 | 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 |
10d80 | 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c | se.......},......."outputs":.[], |
10da0 | 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 25 25 20 | ......."source":.[........."#%%. |
10dc0 | 70 61 72 61 6d 65 74 65 72 73 5c 6e 5c 6e 61 31 20 3d 20 31 2e 30 20 2a 20 28 78 20 3e 20 31 30 | parameters\n\na1.=.1.0.*.(x.>.10 |
10de0 | 29 20 2a 20 28 78 20 3c 20 35 30 29 5c 6e 61 32 20 3d 20 31 2e 30 20 2a 20 28 78 20 3e 20 36 30 | ).*.(x.<.50)\na2.=.1.0.*.(x.>.60 |
10e00 | 29 20 2a 20 28 78 20 3c 20 38 30 29 5c 6e 5c 6e 61 31 20 2f 3d 20 61 31 2e 73 75 6d 28 29 5c 6e | ).*.(x.<.80)\n\na1./=.a1.sum()\n |
10e20 | 61 32 20 2f 3d 20 61 32 2e 73 75 6d 28 29 5c 6e 5c 6e 23 20 63 72 65 61 74 69 6e 67 20 6d 61 74 | a2./=.a2.sum()\n\n#.creating.mat |
10e40 | 72 69 78 20 41 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6c 6c 20 64 69 73 74 72 69 62 75 74 69 6f | rix.A.containing.all.distributio |
10e60 | 6e 73 5c 6e 41 20 3d 20 6e 70 2e 76 73 74 61 63 6b 28 28 61 31 2c 20 61 32 29 29 2e 54 5c 6e 6e | ns\nA.=.np.vstack((a1,.a2)).T\nn |
10e80 | 5f 64 69 73 74 72 69 62 75 74 69 6f 6e 73 20 3d 20 41 2e 73 68 61 70 65 5b 31 5d 5c 6e 5c 6e 23 | _distributions.=.A.shape[1]\n\n# |
10ea0 | 20 6c 6f 73 73 20 6d 61 74 72 69 78 20 2b 20 6e 6f 72 6d 61 6c 69 7a 61 74 69 6f 6e 5c 6e 4d 20 | .loss.matrix.+.normalization\nM. |
10ec0 | 3d 20 6f 74 2e 75 74 69 6c 73 2e 64 69 73 74 30 28 6e 29 5c 6e 4d 20 2f 3d 20 4d 2e 6d 61 78 28 | =.ot.utils.dist0(n)\nM./=.M.max( |
10ee0 | 29 5c 6e 5c 6e 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 | )\n\n\n#%%.plot.the.distribution |
10f00 | 73 5c 6e 5c 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 | s\n\npl.figure(1,.figsize=(6.4,. |
10f20 | 33 29 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 75 74 69 | 3))\nfor.i.in.range(n_distributi |
10f40 | 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 29 5c 6e | ons):\n....pl.plot(x,.A[:,.i])\n |
10f60 | 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 70 6c 2e 74 69 | pl.title('Distributions')\npl.ti |
10f80 | 67 68 74 5f 6c 61 79 6f 75 74 28 29 5c 6e 5c 6e 5c 6e 23 25 25 20 62 61 72 79 63 65 6e 74 65 72 | ght_layout()\n\n\n#%%.barycenter |
10fa0 | 20 63 6f 6d 70 75 74 61 74 69 6f 6e 5c 6e 5c 6e 61 6c 70 68 61 20 3d 20 30 2e 35 20 20 23 20 30 | .computation\n\nalpha.=.0.5..#.0 |
10fc0 | 3c 3d 61 6c 70 68 61 3c 3d 31 5c 6e 77 65 69 67 68 74 73 20 3d 20 6e 70 2e 61 72 72 61 79 28 5b | <=alpha<=1\nweights.=.np.array([ |
10fe0 | 31 20 2d 20 61 6c 70 68 61 2c 20 61 6c 70 68 61 5d 29 5c 6e 5c 6e 23 20 6c 32 62 61 72 79 5c 6e | 1.-.alpha,.alpha])\n\n#.l2bary\n |
11000 | 62 61 72 79 5f 6c 32 20 3d 20 41 2e 64 6f 74 28 77 65 69 67 68 74 73 29 5c 6e 5c 6e 23 20 77 61 | bary_l2.=.A.dot(weights)\n\n#.wa |
11020 | 73 73 65 72 73 74 65 69 6e 5c 6e 72 65 67 20 3d 20 31 65 2d 33 5c 6e 6f 74 2e 74 69 63 28 29 5c | sserstein\nreg.=.1e-3\not.tic()\ |
11040 | 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 74 | nbary_wass.=.ot.bregman.barycent |
11060 | 65 72 28 41 2c 20 4d 2c 20 72 65 67 2c 20 77 65 69 67 68 74 73 29 5c 6e 6f 74 2e 74 6f 63 28 29 | er(A,.M,.reg,.weights)\not.toc() |
11080 | 5c 6e 5c 6e 5c 6e 6f 74 2e 74 69 63 28 29 5c 6e 62 61 72 79 5f 77 61 73 73 32 20 3d 20 6f 74 2e | \n\n\not.tic()\nbary_wass2.=.ot. |
110a0 | 6c 70 2e 62 61 72 79 63 65 6e 74 65 72 28 41 2c 20 4d 2c 20 77 65 69 67 68 74 73 2c 20 73 6f 6c | lp.barycenter(A,.M,.weights,.sol |
110c0 | 76 65 72 3d 27 69 6e 74 65 72 69 6f 72 2d 70 6f 69 6e 74 27 2c 20 76 65 72 62 6f 73 65 3d 54 72 | ver='interior-point',.verbose=Tr |
110e0 | 75 65 29 5c 6e 6f 74 2e 74 6f 63 28 29 5c 6e 5c 6e 5c 6e 70 72 6f 62 6c 65 6d 73 2e 61 70 70 65 | ue)\not.toc()\n\n\nproblems.appe |
11100 | 6e 64 28 5b 41 2c 20 5b 62 61 72 79 5f 6c 32 2c 20 62 61 72 79 5f 77 61 73 73 2c 20 62 61 72 79 | nd([A,.[bary_l2,.bary_wass,.bary |
11120 | 5f 77 61 73 73 32 5d 5d 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 29 5c 6e 70 6c 2e 63 6c | _wass2]])\n\npl.figure(2)\npl.cl |
11140 | 66 28 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 31 2c 20 31 29 5c 6e 66 6f 72 20 69 20 | f()\npl.subplot(2,.1,.1)\nfor.i. |
11160 | 69 6e 20 72 61 6e 67 65 28 6e 5f 64 69 73 74 72 69 62 75 74 69 6f 6e 73 29 3a 5c 6e 20 20 20 20 | in.range(n_distributions):\n.... |
11180 | 70 6c 2e 70 6c 6f 74 28 78 2c 20 41 5b 3a 2c 20 69 5d 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 44 | pl.plot(x,.A[:,.i])\npl.title('D |
111a0 | 69 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 | istributions')\n\npl.subplot(2,. |
111c0 | 31 2c 20 32 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 20 62 61 72 79 5f 6c 32 2c 20 27 72 27 2c 20 | 1,.2)\npl.plot(x,.bary_l2,.'r',. |
111e0 | 6c 61 62 65 6c 3d 27 6c 32 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 20 62 61 72 79 5f 77 61 73 | label='l2')\npl.plot(x,.bary_was |
11200 | 73 2c 20 27 67 27 2c 20 6c 61 62 65 6c 3d 27 52 65 67 20 57 61 73 73 65 72 73 74 65 69 6e 27 29 | s,.'g',.label='Reg.Wasserstein') |
11220 | 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 20 62 61 72 79 5f 77 61 73 73 32 2c 20 27 62 27 2c 20 6c 61 | \npl.plot(x,.bary_wass2,.'b',.la |
11240 | 62 65 6c 3d 27 4c 50 20 57 61 73 73 65 72 73 74 65 69 6e 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 | bel='LP.Wasserstein')\npl.legend |
11260 | 28 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 42 61 72 79 63 65 6e 74 65 72 73 27 29 5c 6e 70 6c 2e | ()\npl.title('Barycenters')\npl. |
11280 | 74 69 67 68 74 5f 6c 61 79 6f 75 74 28 29 5c 6e 5c 6e 23 25 25 20 70 61 72 61 6d 65 74 65 72 73 | tight_layout()\n\n#%%.parameters |
112a0 | 5c 6e 5c 6e 61 31 20 3d 20 6e 70 2e 7a 65 72 6f 73 28 6e 29 5c 6e 61 32 20 3d 20 6e 70 2e 7a 65 | \n\na1.=.np.zeros(n)\na2.=.np.ze |
112c0 | 72 6f 73 28 6e 29 5c 6e 5c 6e 61 31 5b 31 30 5d 20 3d 20 2e 32 35 5c 6e 61 31 5b 32 30 5d 20 3d | ros(n)\n\na1[10].=..25\na1[20].= |
112e0 | 20 2e 35 5c 6e 61 31 5b 33 30 5d 20 3d 20 2e 32 35 5c 6e 61 32 5b 38 30 5d 20 3d 20 31 5c 6e 5c | ..5\na1[30].=..25\na2[80].=.1\n\ |
11300 | 6e 5c 6e 61 31 20 2f 3d 20 61 31 2e 73 75 6d 28 29 5c 6e 61 32 20 2f 3d 20 61 32 2e 73 75 6d 28 | n\na1./=.a1.sum()\na2./=.a2.sum( |
11320 | 29 5c 6e 5c 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 | )\n\n#.creating.matrix.A.contain |
11340 | 69 6e 67 20 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 | ing.all.distributions\nA.=.np.vs |
11360 | 74 61 63 6b 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 | tack((a1,.a2)).T\nn_distribution |
11380 | 73 20 3d 20 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 | s.=.A.shape[1]\n\n#.loss.matrix. |
113a0 | 2b 20 6e 6f 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 | +.normalization\nM.=.ot.utils.di |
113c0 | 73 74 30 28 6e 29 5c 6e 4d 20 2f 3d 20 4d 2e 6d 61 78 28 29 5c 6e 5c 6e 5c 6e 23 25 25 20 70 6c | st0(n)\nM./=.M.max()\n\n\n#%%.pl |
113e0 | 6f 74 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 | ot.the.distributions\n\npl.figur |
11400 | 65 28 31 2c 20 66 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 | e(1,.figsize=(6.4,.3))\nfor.i.in |
11420 | 20 72 61 6e 67 65 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 | .range(n_distributions):\n....pl |
11440 | 2e 70 6c 6f 74 28 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 | .plot(x,.A[:,.i])\npl.title('Dis |
11460 | 74 72 69 62 75 74 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 | tributions')\npl.tight_layout()\ |
11480 | 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 61 74 69 6f 6e 5c | n\n\n#%%.barycenter.computation\ |
114a0 | 6e 5c 6e 61 6c 70 68 61 20 3d 20 30 2e 35 20 20 23 20 30 3c 3d 61 6c 70 68 61 3c 3d 31 5c 6e 77 | n\nalpha.=.0.5..#.0<=alpha<=1\nw |
114c0 | 65 69 67 68 74 73 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 | eights.=.np.array([1.-.alpha,.al |
114e0 | 70 68 61 5d 29 5c 6e 5c 6e 23 20 6c 32 62 61 72 79 5c 6e 62 61 72 79 5f 6c 32 20 3d 20 41 2e 64 | pha])\n\n#.l2bary\nbary_l2.=.A.d |
11500 | 6f 74 28 77 65 69 67 68 74 73 29 5c 6e 5c 6e 23 20 77 61 73 73 65 72 73 74 65 69 6e 5c 6e 72 65 | ot(weights)\n\n#.wasserstein\nre |
11520 | 67 20 3d 20 31 65 2d 33 5c 6e 6f 74 2e 74 69 63 28 29 5c 6e 62 61 72 79 5f 77 61 73 73 20 3d 20 | g.=.1e-3\not.tic()\nbary_wass.=. |
11540 | 6f 74 2e 62 72 65 67 6d 61 6e 2e 62 61 72 79 63 65 6e 74 65 72 28 41 2c 20 4d 2c 20 72 65 67 2c | ot.bregman.barycenter(A,.M,.reg, |
11560 | 20 77 65 69 67 68 74 73 29 5c 6e 6f 74 2e 74 6f 63 28 29 5c 6e 5c 6e 5c 6e 6f 74 2e 74 69 63 28 | .weights)\not.toc()\n\n\not.tic( |
11580 | 29 5c 6e 62 61 72 79 5f 77 61 73 73 32 20 3d 20 6f 74 2e 6c 70 2e 62 61 72 79 63 65 6e 74 65 72 | )\nbary_wass2.=.ot.lp.barycenter |
115a0 | 28 41 2c 20 4d 2c 20 77 65 69 67 68 74 73 2c 20 73 6f 6c 76 65 72 3d 27 69 6e 74 65 72 69 6f 72 | (A,.M,.weights,.solver='interior |
115c0 | 2d 70 6f 69 6e 74 27 2c 20 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 6f 74 2e 74 6f 63 28 29 | -point',.verbose=True)\not.toc() |
115e0 | 5c 6e 5c 6e 5c 6e 70 72 6f 62 6c 65 6d 73 2e 61 70 70 65 6e 64 28 5b 41 2c 20 5b 62 61 72 79 5f | \n\n\nproblems.append([A,.[bary_ |
11600 | 6c 32 2c 20 62 61 72 79 5f 77 61 73 73 2c 20 62 61 72 79 5f 77 61 73 73 32 5d 5d 29 5c 6e 5c 6e | l2,.bary_wass,.bary_wass2]])\n\n |
11620 | 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 73 75 62 70 6c | pl.figure(2)\npl.clf()\npl.subpl |
11640 | 6f 74 28 32 2c 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 | ot(2,.1,.1)\nfor.i.in.range(n_di |
11660 | 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 78 2c 20 41 5b | stributions):\n....pl.plot(x,.A[ |
11680 | 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 69 6f 6e 73 27 | :,.i])\npl.title('Distributions' |
116a0 | 29 5c 6e 5c 6e 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 | )\n\npl.subplot(2,.1,.2)\npl.plo |
116c0 | 74 28 78 2c 20 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 | t(x,.bary_l2,.'r',.label='l2')\n |
116e0 | 70 6c 2e 70 6c 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 | pl.plot(x,.bary_wass,.'g',.label |
11700 | 3d 27 52 65 67 20 57 61 73 73 65 72 73 74 65 69 6e 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 20 | ='Reg.Wasserstein')\npl.plot(x,. |
11720 | 62 61 72 79 5f 77 61 73 73 32 2c 20 27 62 27 2c 20 6c 61 62 65 6c 3d 27 4c 50 20 57 61 73 73 65 | bary_wass2,.'b',.label='LP.Wasse |
11740 | 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 65 28 | rstein')\npl.legend()\npl.title( |
11760 | 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 74 28 | 'Barycenters')\npl.tight_layout( |
11780 | 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 | )".......].....},.....{......."c |
117a0 | 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 | ell_type":."markdown",......."me |
117c0 | 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 | tadata":.{},......."source":.[.. |
117e0 | 20 20 20 20 20 20 20 22 46 69 6e 61 6c 20 66 69 67 75 72 65 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ......."Final.figure\n---------- |
11800 | 2d 2d 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 | --\n\n\n".......].....},.....{.. |
11820 | 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 0a 20 20 20 20 20 20 | ....."cell_type":."code",....... |
11840 | 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 | "execution_count":.null,......." |
11860 | 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" |
11880 | 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 | :.false.......},......."outputs" |
118a0 | 3a 20 5b 5d 2c 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 | :.[],......."source":.[......... |
118c0 | 22 23 25 25 20 70 6c 6f 74 5c 6e 5c 6e 6e 62 6d 20 3d 20 6c 65 6e 28 70 72 6f 62 6c 65 6d 73 29 | "#%%.plot\n\nnbm.=.len(problems) |
118e0 | 5c 6e 6e 62 6d 32 20 3d 20 28 6e 62 6d 20 2f 2f 20 32 29 5c 6e 5c 6e 5c 6e 70 6c 2e 66 69 67 75 | \nnbm2.=.(nbm.//.2)\n\n\npl.figu |
11900 | 72 65 28 32 2c 20 28 32 30 2c 20 36 29 29 5c 6e 70 6c 2e 63 6c 66 28 29 5c 6e 5c 6e 66 6f 72 20 | re(2,.(20,.6))\npl.clf()\n\nfor. |
11920 | 69 20 69 6e 20 72 61 6e 67 65 28 6e 62 6d 29 3a 5c 6e 5c 6e 20 20 20 20 41 20 3d 20 70 72 6f 62 | i.in.range(nbm):\n\n....A.=.prob |
11940 | 6c 65 6d 73 5b 69 5d 5b 30 5d 5c 6e 20 20 20 20 62 61 72 79 5f 6c 32 20 3d 20 70 72 6f 62 6c 65 | lems[i][0]\n....bary_l2.=.proble |
11960 | 6d 73 5b 69 5d 5b 31 5d 5b 30 5d 5c 6e 20 20 20 20 62 61 72 79 5f 77 61 73 73 20 3d 20 70 72 6f | ms[i][1][0]\n....bary_wass.=.pro |
11980 | 62 6c 65 6d 73 5b 69 5d 5b 31 5d 5b 31 5d 5c 6e 20 20 20 20 62 61 72 79 5f 77 61 73 73 32 20 3d | blems[i][1][1]\n....bary_wass2.= |
119a0 | 20 70 72 6f 62 6c 65 6d 73 5b 69 5d 5b 31 5d 5b 32 5d 5c 6e 5c 6e 20 20 20 20 70 6c 2e 73 75 62 | .problems[i][1][2]\n\n....pl.sub |
119c0 | 70 6c 6f 74 28 32 2c 20 6e 62 6d 2c 20 31 20 2b 20 69 29 5c 6e 20 20 20 20 66 6f 72 20 6a 20 69 | plot(2,.nbm,.1.+.i)\n....for.j.i |
119e0 | 6e 20 72 61 6e 67 65 28 6e 5f 64 69 73 74 72 69 62 75 74 69 6f 6e 73 29 3a 5c 6e 20 20 20 20 20 | n.range(n_distributions):\n..... |
11a00 | 20 20 20 70 6c 2e 70 6c 6f 74 28 78 2c 20 41 5b 3a 2c 20 6a 5d 29 5c 6e 20 20 20 20 69 66 20 69 | ...pl.plot(x,.A[:,.j])\n....if.i |
11a20 | 20 3d 3d 20 6e 62 6d 32 3a 5c 6e 20 20 20 20 20 20 20 20 70 6c 2e 74 69 74 6c 65 28 27 44 69 73 | .==.nbm2:\n........pl.title('Dis |
11a40 | 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 20 20 20 20 70 6c 2e 78 74 69 63 6b 73 28 28 29 29 5c | tributions')\n....pl.xticks(())\ |
11a60 | 6e 20 20 20 20 70 6c 2e 79 74 69 63 6b 73 28 28 29 29 5c 6e 5c 6e 20 20 20 20 70 6c 2e 73 75 62 | n....pl.yticks(())\n\n....pl.sub |
11a80 | 70 6c 6f 74 28 32 2c 20 6e 62 6d 2c 20 31 20 2b 20 69 20 2b 20 6e 62 6d 29 5c 6e 5c 6e 20 20 20 | plot(2,.nbm,.1.+.i.+.nbm)\n\n... |
11aa0 | 20 70 6c 2e 70 6c 6f 74 28 78 2c 20 62 61 72 79 5f 6c 32 2c 20 27 72 27 2c 20 6c 61 62 65 6c 3d | .pl.plot(x,.bary_l2,.'r',.label= |
11ac0 | 27 4c 32 20 28 45 75 63 6c 69 64 65 61 6e 29 27 29 5c 6e 20 20 20 20 70 6c 2e 70 6c 6f 74 28 78 | 'L2.(Euclidean)')\n....pl.plot(x |
11ae0 | 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 52 65 67 20 57 61 73 | ,.bary_wass,.'g',.label='Reg.Was |
11b00 | 73 65 72 73 74 65 69 6e 27 29 5c 6e 20 20 20 20 70 6c 2e 70 6c 6f 74 28 78 2c 20 62 61 72 79 5f | serstein')\n....pl.plot(x,.bary_ |
11b20 | 77 61 73 73 32 2c 20 27 62 27 2c 20 6c 61 62 65 6c 3d 27 4c 50 20 57 61 73 73 65 72 73 74 65 69 | wass2,.'b',.label='LP.Wasserstei |
11b40 | 6e 27 29 5c 6e 20 20 20 20 69 66 20 69 20 3d 3d 20 6e 62 6d 20 2d 20 31 3a 5c 6e 20 20 20 20 20 | n')\n....if.i.==.nbm.-.1:\n..... |
11b60 | 20 20 20 70 6c 2e 6c 65 67 65 6e 64 28 29 5c 6e 20 20 20 20 69 66 20 69 20 3d 3d 20 6e 62 6d 32 | ...pl.legend()\n....if.i.==.nbm2 |
11b80 | 3a 5c 6e 20 20 20 20 20 20 20 20 70 6c 2e 74 69 74 6c 65 28 27 42 61 72 79 63 65 6e 74 65 72 73 | :\n........pl.title('Barycenters |
11ba0 | 27 29 5c 6e 5c 6e 20 20 20 20 70 6c 2e 78 74 69 63 6b 73 28 28 29 29 5c 6e 20 20 20 20 70 6c 2e | ')\n\n....pl.xticks(())\n....pl. |
11bc0 | 79 74 69 63 6b 73 28 28 29 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 0a 20 20 5d 2c 0a 20 | yticks(())".......].....}...],.. |
11be0 | 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": |
11c00 | 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 |
11c20 | 20 33 22 2c 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 2c | .3",......."language":."python", |
11c40 | 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 33 22 0a 20 20 20 20 7d 2c 0a | ......."name":."python3".....},. |
11c60 | 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 63 6f | ...."language_info":.{......."co |
11c80 | 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 6e 61 6d 65 22 | demirror_mode":.{........."name" |
11ca0 | 3a 20 22 69 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 | :."ipython",........."version":. |
11cc0 | 33 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e | 3.......},......."file_extension |
11ce0 | 22 3a 20 22 2e 70 79 22 2c 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 | ":.".py",......."mimetype":."tex |
11d00 | 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 | t/x-python",......."name":."pyth |
11d20 | 6f 6e 22 2c 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 | on",......."nbconvert_exporter": |
11d40 | 20 22 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 | ."python",......."pygments_lexer |
11d60 | 22 3a 20 22 69 70 79 74 68 6f 6e 33 22 2c 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 | ":."ipython3",......."version":. |
11d80 | 22 33 2e 36 2e 35 22 0a 20 20 20 20 7d 0a 20 20 7d 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a | "3.6.5".....}...},..."nbformat": |
11da0 | 20 34 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 0a 7d 50 4b 03 04 14 | .4,..."nbformat_minor":.0.}PK... |
11dc0 | 00 00 00 00 00 63 4d be 4c 17 38 53 24 28 10 00 00 28 10 00 00 18 00 00 00 70 6c 6f 74 5f 4f 54 | .....cM.L.8S$(...(.......plot_OT |
11de0 | 5f 32 44 5f 73 61 6d 70 6c 65 73 2e 69 70 79 6e 62 7b 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a | _2D_samples.ipynb{..."cells":.[. |
11e00 | 20 20 20 20 7b 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 | ....{......."cell_type":."code", |
11e20 | 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 0a | ......."execution_count":.null,. |
11e40 | 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 6f 6c | ......"metadata":.{........."col |
11e60 | 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f | lapsed":.false.......},......."o |
11e80 | 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 | utputs":.[],......."source":.[.. |
11ea0 | 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 65 22 0a 20 20 20 20 | ......."%matplotlib.inline"..... |
11ec0 | 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 | ..].....},.....{......."cell_typ |
11ee0 | 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 | e":."markdown",......."metadata" |
11f00 | 3a 20 7b 7d 2c 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 | :.{},......."source":.[......... |
11f20 | 22 5c 6e 23 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 | "\n#.2D.Optimal.transport.betwee |
11f40 | 6e 20 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 5c 6e 49 | n.empirical.distributions\n\n\nI |
11f60 | 6c 6c 75 73 74 72 61 74 69 6f 6e 20 6f 66 20 32 44 20 6f 70 74 69 6d 61 6c 20 74 72 61 6e 73 70 | llustration.of.2D.optimal.transp |
11f80 | 6f 72 74 20 62 65 74 77 65 65 6e 20 64 69 73 63 72 69 62 75 74 69 6f 6e 73 20 74 68 61 74 20 61 | ort.between.discributions.that.a |
11fa0 | 72 65 20 77 65 69 67 68 74 65 64 5c 6e 73 75 6d 20 6f 66 20 64 69 72 61 63 73 2e 20 54 68 65 20 | re.weighted\nsum.of.diracs..The. |
11fc0 | 4f 54 20 6d 61 74 72 69 78 20 69 73 20 70 6c 6f 74 74 65 64 20 77 69 74 68 20 74 68 65 20 73 61 | OT.matrix.is.plotted.with.the.sa |
11fe0 | 6d 70 6c 65 73 2e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 | mples.\n\n\n".......].....},.... |
12000 | 20 7b 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 0a 20 20 | .{......."cell_type":."code",... |
12020 | 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 0a 20 20 20 | ...."execution_count":.null,.... |
12040 | 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 |
12060 | 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 | sed":.false.......},......."outp |
12080 | 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 | uts":.[],......."source":.[..... |
120a0 | 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 |
120c0 | 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 |
120e0 | 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 |
12100 | 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 |
12120 | 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 69 6d 70 6f 72 74 20 6f 74 2e 70 6c 6f 74 22 0a | .pl\nimport.ot\nimport.ot.plot". |
12140 | 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c | ......].....},.....{......."cell |
12160 | 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 | _type":."markdown",......."metad |
12180 | 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 | ata":.{},......."source":.[..... |
121a0 | 20 20 20 20 22 47 65 6e 65 72 61 74 65 20 64 61 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ...."Generate.data\n------------ |
121c0 | 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 | -\n\n".......].....},.....{..... |
121e0 | 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 | .."cell_type":."code",......."ex |
12200 | 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 | ecution_count":.null,......."met |
12220 | 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 |
12240 | 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b | alse.......},......."outputs":.[ |
12260 | 5d 2c 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 25 | ],......."source":.[........."#% |
12280 | 25 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 | %.parameters.and.data.generation |
122a0 | 5c 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 | \n\nn.=.50..#.nb.samples\n\nmu_s |
122c0 | 20 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 | .=.np.array([0,.0])\ncov_s.=.np. |
122e0 | 61 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 | array([[1,.0],.[0,.1]])\n\nmu_t. |
12300 | 3d 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 | =.np.array([4,.4])\ncov_t.=.np.a |
12320 | 72 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 | rray([[1,.-.8],.[-.8,.1]])\n\nxs |
12340 | 20 3d 20 6f 74 2e 64 61 74 61 73 65 74 73 2e 6d 61 6b 65 5f 32 44 5f 73 61 6d 70 6c 65 73 5f 67 | .=.ot.datasets.make_2D_samples_g |
12360 | 61 75 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 | auss(n,.mu_s,.cov_s)\nxt.=.ot.da |
12380 | 74 61 73 65 74 73 2e 6d 61 6b 65 5f 32 44 5f 73 61 6d 70 6c 65 73 5f 67 61 75 73 73 28 6e 2c 20 | tasets.make_2D_samples_gauss(n,. |
123a0 | 6d 75 5f 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 | mu_t,.cov_t)\n\na,.b.=.np.ones(( |
123c0 | 6e 2c 29 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 | n,))./.n,.np.ones((n,))./.n..#.u |
123e0 | 6e 69 66 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 | niform.distribution.on.samples\n |
12400 | 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 28 78 73 2c | \n#.loss.matrix\nM.=.ot.dist(xs, |
12420 | 20 78 74 29 5c 6e 4d 20 2f 3d 20 4d 2e 6d 61 78 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 | .xt)\nM./=.M.max()".......]..... |
12440 | 7d 2c 0a 20 20 20 20 7b 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 |
12460 | 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 | kdown",......."metadata":.{},... |
12480 | 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 50 6c 6f 74 20 64 61 | ...."source":.[........."Plot.da |
124a0 | 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d | ta\n---------\n\n".......].....} |
124c0 | 2c 0a 20 20 20 20 7b 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 | ,.....{......."cell_type":."code |
124e0 | 22 2c 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 |
12500 | 2c 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 |
12520 | 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 | ollapsed":.false.......},....... |
12540 | 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b | "outputs":.[],......."source":.[ |
12560 | 0a 20 20 20 20 20 20 20 20 22 23 25 25 20 70 6c 6f 74 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 70 6c | ........."#%%.plot.samples\n\npl |
12580 | 2e 66 69 67 75 72 65 28 31 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a 2c 20 30 5d 2c 20 78 73 | .figure(1)\npl.plot(xs[:,.0],.xs |
125a0 | 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 20 73 61 6d 70 | [:,.1],.'+b',.label='Source.samp |
125c0 | 6c 65 73 27 29 5c 6e 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 | les')\npl.plot(xt[:,.0],.xt[:,.1 |
125e0 | 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 73 27 29 | ],.'xr',.label='Target.samples') |
12600 | 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 53 6f | \npl.legend(loc=0)\npl.title('So |
12620 | 75 72 63 65 20 61 6e 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 | urce.and.target.distributions')\ |
12640 | 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 4d 2c 20 69 6e | n\npl.figure(2)\npl.imshow(M,.in |
12660 | 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 65 | terpolation='nearest')\npl.title |
12680 | 28 27 43 6f 73 74 20 6d 61 74 72 69 78 20 4d 27 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d | ('Cost.matrix.M')".......].....} |
126a0 | 2c 0a 20 20 20 20 7b 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 | ,.....{......."cell_type":."mark |
126c0 | 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 | down",......."metadata":.{},.... |
126e0 | 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 70 75 74 65 20 | ..."source":.[........."Compute. |
12700 | 45 4d 44 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 | EMD\n-----------\n\n".......]... |
12720 | 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 | ..},.....{......."cell_type":."c |
12740 | 6f 64 65 22 2c 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 | ode",......."execution_count":.n |
12760 | 75 6c 6c 2c 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 | ull,......."metadata":.{........ |
12780 | 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 2c 0a 20 20 20 | ."collapsed":.false.......},.... |
127a0 | 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 | ..."outputs":.[],......."source" |
127c0 | 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 25 25 20 45 4d 44 5c 6e 5c 6e 47 30 20 3d 20 6f 74 2e | :.[........."#%%.EMD\n\nG0.=.ot. |
127e0 | 65 6d 64 28 61 2c 20 62 2c 20 4d 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 33 29 5c 6e 70 6c | emd(a,.b,.M)\n\npl.figure(3)\npl |
12800 | 2e 69 6d 73 68 6f 77 28 47 30 2c 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 | .imshow(G0,.interpolation='neare |
12820 | 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 47 30 27 29 5c 6e | st')\npl.title('OT.matrix.G0')\n |
12840 | 5c 6e 70 6c 2e 66 69 67 75 72 65 28 34 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 | \npl.figure(4)\not.plot.plot2D_s |
12860 | 61 6d 70 6c 65 73 5f 6d 61 74 28 78 73 2c 20 78 74 2c 20 47 30 2c 20 63 3d 5b 2e 35 2c 20 2e 35 | amples_mat(xs,.xt,.G0,.c=[.5,..5 |
12880 | 2c 20 31 5d 29 5c 6e 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 | ,.1])\npl.plot(xs[:,.0],.xs[:,.1 |
128a0 | 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 65 73 27 29 | ],.'+b',.label='Source.samples') |
128c0 | 5c 6e 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 | \npl.plot(xt[:,.0],.xt[:,.1],.'x |
128e0 | 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 70 6c 2e | r',.label='Target.samples')\npl. |
12900 | 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 4f 54 20 6d 61 74 72 | legend(loc=0)\npl.title('OT.matr |
12920 | 69 78 20 77 69 74 68 20 73 61 6d 70 6c 65 73 27 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d | ix.with.samples')".......].....} |
12940 | 2c 0a 20 20 20 20 7b 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 | ,.....{......."cell_type":."mark |
12960 | 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 | down",......."metadata":.{},.... |
12980 | 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 70 75 74 65 20 | ..."source":.[........."Compute. |
129a0 | 53 69 6e 6b 68 6f 72 6e 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a | Sinkhorn\n----------------\n\n". |
129c0 | 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c | ......].....},.....{......."cell |
129e0 | 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e | _type":."code",......."execution |
12a00 | 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a | _count":.null,......."metadata": |
12a20 | 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... |
12a40 | 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 | ....},......."outputs":.[],..... |
12a60 | 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 25 25 20 73 69 6e 6b 68 | .."source":.[........."#%%.sinkh |
12a80 | 6f 72 6e 5c 6e 5c 6e 23 20 72 65 67 20 74 65 72 6d 5c 6e 6c 61 6d 62 64 20 3d 20 31 65 2d 33 5c | orn\n\n#.reg.term\nlambd.=.1e-3\ |
12aa0 | 6e 5c 6e 47 73 20 3d 20 6f 74 2e 73 69 6e 6b 68 6f 72 6e 28 61 2c 20 62 2c 20 4d 2c 20 6c 61 6d | n\nGs.=.ot.sinkhorn(a,.b,.M,.lam |
12ac0 | 62 64 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 35 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 47 | bd)\n\npl.figure(5)\npl.imshow(G |
12ae0 | 73 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 2e | s,.interpolation='nearest')\npl. |
12b00 | 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 20 73 69 6e 6b 68 6f 72 6e 27 29 5c 6e 5c 6e 70 | title('OT.matrix.sinkhorn')\n\np |
12b20 | 6c 2e 66 69 67 75 72 65 28 36 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 | l.figure(6)\not.plot.plot2D_samp |
12b40 | 6c 65 73 5f 6d 61 74 28 78 73 2c 20 78 74 2c 20 47 73 2c 20 63 6f 6c 6f 72 3d 5b 2e 35 2c 20 2e | les_mat(xs,.xt,.Gs,.color=[.5,.. |
12b60 | 35 2c 20 31 5d 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a 2c 20 30 5d 2c 20 78 73 5b 3a 2c 20 | 5,.1])\npl.plot(xs[:,.0],.xs[:,. |
12b80 | 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 65 73 27 | 1],.'+b',.label='Source.samples' |
12ba0 | 29 5c 6e 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 | )\npl.plot(xt[:,.0],.xt[:,.1],.' |
12bc0 | 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 73 27 29 5c 6e 70 6c | xr',.label='Target.samples')\npl |
12be0 | 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 4f 54 20 6d 61 74 | .legend(loc=0)\npl.title('OT.mat |
12c00 | 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 5c 6e 5c 6e 70 | rix.Sinkhorn.with.samples')\n\np |
12c20 | 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 0a 20 20 5d 2c 0a 20 20 22 | l.show()".......].....}...],..." |
12c40 | 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":.{ |
12c60 | 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 33 | ......."display_name":."Python.3 |
12c80 | 22 2c 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 2c 0a 20 | ",......."language":."python",.. |
12ca0 | 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 33 22 0a 20 20 20 20 7d 2c 0a 20 20 | ....."name":."python3".....},... |
12cc0 | 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 63 6f 64 65 | .."language_info":.{......."code |
12ce0 | 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 6e 61 6d 65 22 3a 20 | mirror_mode":.{........."name":. |
12d00 | 22 69 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 33 0a | "ipython",........."version":.3. |
12d20 | 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a | ......},......."file_extension": |
12d40 | 20 22 2e 70 79 22 2c 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 | .".py",......."mimetype":."text/ |
12d60 | 78 2d 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e | x-python",......."name":."python |
12d80 | 22 2c 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 22 | ",......."nbconvert_exporter":." |
12da0 | 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a | python",......."pygments_lexer": |
12dc0 | 20 22 69 70 79 74 68 6f 6e 33 22 2c 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 33 | ."ipython3",......."version":."3 |
12de0 | 2e 36 2e 35 22 0a 20 20 20 20 7d 0a 20 20 7d 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 | .6.5".....}...},..."nbformat":.4 |
12e00 | 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 0a 7d 50 4b 03 04 14 00 00 | ,..."nbformat_minor":.0.}PK..... |
12e20 | 00 00 00 91 53 be 4c b5 c3 fd 1f 0a 15 00 00 0a 15 00 00 1e 00 00 00 70 6c 6f 74 5f 6f 74 64 61 | ....S.L................plot_otda |
12e40 | 5f 6c 69 6e 65 61 72 5f 6d 61 70 70 69 6e 67 2e 69 70 79 6e 62 7b 0a 20 20 22 63 65 6c 6c 73 22 | _linear_mapping.ipynb{..."cells" |
12e60 | 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f | :.[.....{......."cell_type":."co |
12e80 | 64 65 22 2c 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 | de",......."execution_count":.nu |
12ea0 | 6c 6c 2c 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 | ll,......."metadata":.{......... |
12ec0 | 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 2c 0a 20 20 20 20 | "collapsed":.false.......},..... |
12ee0 | 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a | .."outputs":.[],......."source": |
12f00 | 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 65 22 0a | .[........."%matplotlib.inline". |
12f20 | 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c | ......].....},.....{......."cell |
12f40 | 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 | _type":."markdown",......."metad |
12f60 | 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 | ata":.{},......."source":.[..... |
12f80 | 20 20 20 20 22 5c 6e 23 20 4c 69 6e 65 61 72 20 4f 54 20 6d 61 70 70 69 6e 67 20 65 73 74 69 6d | ...."\n#.Linear.OT.mapping.estim |
12fa0 | 61 74 69 6f 6e 5c 6e 5c 6e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a | ation\n\n\n\n\n".......].....},. |
12fc0 | 20 20 20 20 7b 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 | ....{......."cell_type":."code", |
12fe0 | 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 0a | ......."execution_count":.null,. |
13000 | 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 6f 6c | ......"metadata":.{........."col |
13020 | 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f | lapsed":.false.......},......."o |
13040 | 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 | utputs":.[],......."source":.[.. |
13060 | 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 79 20 3c | ......."#.Author:.Remi.Flamary.< |
13080 | 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 4c 69 63 | remi.flamary@unice.fr>\n#\n#.Lic |
130a0 | 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 6d 70 | ense:.MIT.License\n\nimport.nump |
130c0 | 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 | y.as.np\nimport.pylab.as.pl\nimp |
130e0 | 6f 72 74 20 6f 74 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 | ort.ot".......].....},.....{.... |
13100 | 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 0a 20 20 20 20 | ..."cell_type":."markdown",..... |
13120 | 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 | .."metadata":.{},......."source" |
13140 | 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 65 6e 65 72 61 74 65 20 64 61 74 61 5c 6e 2d 2d 2d 2d | :.[........."Generate.data\n---- |
13160 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 | ---------\n\n".......].....},... |
13180 | 20 20 7b 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 0a 20 | ..{......."cell_type":."code",.. |
131a0 | 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 0a 20 20 | ....."execution_count":.null,... |
131c0 | 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 |
131e0 | 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 | psed":.false.......},......."out |
13200 | 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | puts":.[],......."source":.[.... |
13220 | 20 20 20 20 20 22 6e 20 3d 20 31 30 30 30 5c 6e 64 20 3d 20 32 5c 6e 73 69 67 6d 61 20 3d 20 2e | ....."n.=.1000\nd.=.2\nsigma.=.. |
13240 | 31 5c 6e 5c 6e 23 20 73 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 5c 6e 61 6e 67 6c 65 73 20 3d 20 | 1\n\n#.source.samples\nangles.=. |
13260 | 6e 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 28 6e 2c 20 31 29 20 2a 20 32 20 2a 20 6e 70 2e 70 69 | np.random.rand(n,.1).*.2.*.np.pi |
13280 | 5c 6e 78 73 20 3d 20 6e 70 2e 63 6f 6e 63 61 74 65 6e 61 74 65 28 28 6e 70 2e 73 69 6e 28 61 6e | \nxs.=.np.concatenate((np.sin(an |
132a0 | 67 6c 65 73 29 2c 20 6e 70 2e 63 6f 73 28 61 6e 67 6c 65 73 29 29 2c 5c 6e 20 20 20 20 20 20 20 | gles),.np.cos(angles)),\n....... |
132c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 61 78 69 73 3d 31 29 20 2b 20 73 69 67 6d 61 20 2a 20 6e | .............axis=1).+.sigma.*.n |
132e0 | 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 6e 28 6e 2c 20 32 29 5c 6e 78 73 5b 3a 6e 20 2f 2f 20 32 | p.random.randn(n,.2)\nxs[:n.//.2 |
13300 | 2c 20 31 5d 20 2b 3d 20 32 5c 6e 5c 6e 5c 6e 23 20 74 61 72 67 65 74 20 73 61 6d 70 6c 65 73 5c | ,.1].+=.2\n\n\n#.target.samples\ |
13320 | 6e 61 6e 67 6c 65 74 20 3d 20 6e 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 28 6e 2c 20 31 29 20 2a | nanglet.=.np.random.rand(n,.1).* |
13340 | 20 32 20 2a 20 6e 70 2e 70 69 5c 6e 78 74 20 3d 20 6e 70 2e 63 6f 6e 63 61 74 65 6e 61 74 65 28 | .2.*.np.pi\nxt.=.np.concatenate( |
13360 | 28 6e 70 2e 73 69 6e 28 61 6e 67 6c 65 74 29 2c 20 6e 70 2e 63 6f 73 28 61 6e 67 6c 65 74 29 29 | (np.sin(anglet),.np.cos(anglet)) |
13380 | 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 78 69 73 3d 31 29 20 2b | ,\n....................axis=1).+ |
133a0 | 20 73 69 67 6d 61 20 2a 20 6e 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 6e 28 6e 2c 20 32 29 5c 6e | .sigma.*.np.random.randn(n,.2)\n |
133c0 | 78 74 5b 3a 6e 20 2f 2f 20 32 2c 20 31 5d 20 2b 3d 20 32 5c 6e 5c 6e 5c 6e 41 20 3d 20 6e 70 2e | xt[:n.//.2,.1].+=.2\n\n\nA.=.np. |
133e0 | 61 72 72 61 79 28 5b 5b 31 2e 35 2c 20 2e 37 5d 2c 20 5b 2e 37 2c 20 31 2e 35 5d 5d 29 5c 6e 62 | array([[1.5,..7],.[.7,.1.5]])\nb |
13400 | 20 3d 20 6e 70 2e 61 72 72 61 79 28 5b 5b 34 2c 20 32 5d 5d 29 5c 6e 78 74 20 3d 20 78 74 2e 64 | .=.np.array([[4,.2]])\nxt.=.xt.d |
13420 | 6f 74 28 41 29 20 2b 20 62 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a | ot(A).+.b".......].....},.....{. |
13440 | 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 0a 20 | ......"cell_type":."markdown",.. |
13460 | 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 | ....."metadata":.{},......."sour |
13480 | 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 6c 6f 74 20 64 61 74 61 5c 6e 2d 2d 2d 2d 2d | ce":.[........."Plot.data\n----- |
134a0 | 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 | ----\n\n".......].....},.....{.. |
134c0 | 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 0a 20 20 20 20 20 20 | ....."cell_type":."code",....... |
134e0 | 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 | "execution_count":.null,......." |
13500 | 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" |
13520 | 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 | :.false.......},......."outputs" |
13540 | 3a 20 5b 5d 2c 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 | :.[],......."source":.[......... |
13560 | 22 70 6c 2e 66 69 67 75 72 65 28 31 2c 20 28 35 2c 20 35 29 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 | "pl.figure(1,.(5,.5))\npl.plot(x |
13580 | 73 5b 3a 2c 20 30 5d 2c 20 78 73 5b 3a 2c 20 31 5d 2c 20 27 2b 27 29 5c 6e 70 6c 2e 70 6c 6f 74 | s[:,.0],.xs[:,.1],.'+')\npl.plot |
135a0 | 28 78 74 5b 3a 2c 20 30 5d 2c 20 78 74 5b 3a 2c 20 31 5d 2c 20 27 6f 27 29 22 0a 20 20 20 20 20 | (xt[:,.0],.xt[:,.1],.'o')"...... |
135c0 | 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 | .].....},.....{......."cell_type |
135e0 | 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a | ":."markdown",......."metadata": |
13600 | 20 7b 7d 2c 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 | .{},......."source":.[........." |
13620 | 45 73 74 69 6d 61 74 65 20 6c 69 6e 65 61 72 20 6d 61 70 70 69 6e 67 20 61 6e 64 20 74 72 61 6e | Estimate.linear.mapping.and.tran |
13640 | 73 70 6f 72 74 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | sport\n------------------------- |
13660 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c | ------------\n\n".......].....}, |
13680 | 0a 20 20 20 20 7b 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 | .....{......."cell_type":."code" |
136a0 | 2c 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, |
136c0 | 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 6f | ......."metadata":.{........."co |
136e0 | 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 | llapsed":.false.......},......." |
13700 | 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a | outputs":.[],......."source":.[. |
13720 | 20 20 20 20 20 20 20 20 22 41 65 2c 20 62 65 20 3d 20 6f 74 2e 64 61 2e 4f 54 5f 6d 61 70 70 69 | ........"Ae,.be.=.ot.da.OT_mappi |
13740 | 6e 67 5f 6c 69 6e 65 61 72 28 78 73 2c 20 78 74 29 5c 6e 5c 6e 78 73 74 20 3d 20 78 73 2e 64 6f | ng_linear(xs,.xt)\n\nxst.=.xs.do |
13760 | 74 28 41 65 29 20 2b 20 62 65 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b | t(Ae).+.be".......].....},.....{ |
13780 | 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 0a | ......."cell_type":."markdown",. |
137a0 | 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 | ......"metadata":.{},......."sou |
137c0 | 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 6c 6f 74 20 74 72 61 6e 73 70 6f 72 74 65 | rce":.[........."Plot.transporte |
137e0 | 64 20 73 61 6d 70 6c 65 73 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | d.samples\n--------------------- |
13800 | 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 | ---\n\n".......].....},.....{... |
13820 | 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 | ...."cell_type":."code",......." |
13840 | 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d | execution_count":.null,......."m |
13860 | 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": |
13880 | 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a | .false.......},......."outputs": |
138a0 | 20 5b 5d 2c 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 | .[],......."source":.[........." |
138c0 | 70 6c 2e 66 69 67 75 72 65 28 31 2c 20 28 35 2c 20 35 29 29 5c 6e 70 6c 2e 63 6c 66 28 29 5c 6e | pl.figure(1,.(5,.5))\npl.clf()\n |
138e0 | 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 2b 27 29 | pl.plot(xs[:,.0],.xs[:,.1],.'+') |
13900 | 5c 6e 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 6f | \npl.plot(xt[:,.0],.xt[:,.1],.'o |
13920 | 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 73 74 5b 3a 2c 20 30 5d 2c 20 78 73 74 5b 3a 2c 20 31 5d | ')\npl.plot(xst[:,.0],.xst[:,.1] |
13940 | 2c 20 27 2b 27 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 | ,.'+')\n\npl.show()".......].... |
13960 | 20 7d 2c 0a 20 20 20 20 7b 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 |
13980 | 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 | rkdown",......."metadata":.{},.. |
139a0 | 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 4c 6f 61 64 20 69 | ....."source":.[........."Load.i |
139c0 | 6d 61 67 65 20 64 61 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a | mage.data\n---------------\n\n". |
139e0 | 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c | ......].....},.....{......."cell |
13a00 | 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e | _type":."code",......."execution |
13a20 | 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a | _count":.null,......."metadata": |
13a40 | 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... |
13a60 | 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 | ....},......."outputs":.[],..... |
13a80 | 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 64 65 66 20 69 6d 32 6d 61 | .."source":.[........."def.im2ma |
13aa0 | 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 69 6d | t(I):\n....\"\"\"Converts.and.im |
13ac0 | 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 69 6e | age.to.matrix.(one.pixel.per.lin |
13ae0 | 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 28 28 | e)\"\"\"\n....return.I.reshape(( |
13b00 | 49 2e 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 | I.shape[0].*.I.shape[1],.I.shape |
13b20 | 5b 32 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 | [2]))\n\n\ndef.mat2im(X,.shape): |
13b40 | 5c 6e 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 | \n....\"\"\"Converts.back.a.matr |
13b60 | 69 78 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 | ix.to.an.image\"\"\"\n....return |
13b80 | 20 58 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 | .X.reshape(shape)\n\n\ndef.minma |
13ba0 | 78 28 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 | x(I):\n....return.np.clip(I,.0,. |
13bc0 | 31 29 5c 6e 5c 6e 5c 6e 23 20 4c 6f 61 64 69 6e 67 20 69 6d 61 67 65 73 5c 6e 49 31 20 3d 20 70 | 1)\n\n\n#.Loading.images\nI1.=.p |
13be0 | 6c 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 2e 6a 70 67 27 | l.imread('../data/ocean_day.jpg' |
13c00 | 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 6e 49 32 20 3d | ).astype(np.float64)./.256\nI2.= |
13c20 | 20 70 6c 2e 69 6d 72 65 61 64 28 27 2e 2e 2f 64 61 74 61 2f 6f 63 65 61 6e 5f 73 75 6e 73 65 74 | .pl.imread('../data/ocean_sunset |
13c40 | 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\ |
13c60 | 6e 5c 6e 5c 6e 58 31 20 3d 20 69 6d 32 6d 61 74 28 49 31 29 5c 6e 58 32 20 3d 20 69 6d 32 6d 61 | n\n\nX1.=.im2mat(I1)\nX2.=.im2ma |
13c80 | 74 28 49 32 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 | t(I2)".......].....},.....{..... |
13ca0 | 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 0a 20 20 20 20 20 | .."cell_type":."markdown",...... |
13cc0 | 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a | ."metadata":.{},......."source": |
13ce0 | 20 5b 0a 20 20 20 20 20 20 20 20 22 45 73 74 69 6d 61 74 65 20 6d 61 70 70 69 6e 67 20 61 6e 64 | .[........."Estimate.mapping.and |
13d00 | 20 61 64 61 70 74 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | .adapt\n------------------------ |
13d20 | 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 | ----\n\n".......].....},.....{.. |
13d40 | 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 0a 20 20 20 20 20 20 | ....."cell_type":."code",....... |
13d60 | 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 | "execution_count":.null,......." |
13d80 | 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" |
13da0 | 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 | :.false.......},......."outputs" |
13dc0 | 3a 20 5b 5d 2c 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 | :.[],......."source":.[......... |
13de0 | 22 6d 61 70 70 69 6e 67 20 3d 20 6f 74 2e 64 61 2e 4c 69 6e 65 61 72 54 72 61 6e 73 70 6f 72 74 | "mapping.=.ot.da.LinearTransport |
13e00 | 28 29 5c 6e 5c 6e 6d 61 70 70 69 6e 67 2e 66 69 74 28 58 73 3d 58 31 2c 20 58 74 3d 58 32 29 5c | ()\n\nmapping.fit(Xs=X1,.Xt=X2)\ |
13e20 | 6e 5c 6e 5c 6e 78 73 74 20 3d 20 6d 61 70 70 69 6e 67 2e 74 72 61 6e 73 66 6f 72 6d 28 58 73 3d | n\n\nxst.=.mapping.transform(Xs= |
13e40 | 58 31 29 5c 6e 78 74 73 20 3d 20 6d 61 70 70 69 6e 67 2e 69 6e 76 65 72 73 65 5f 74 72 61 6e 73 | X1)\nxts.=.mapping.inverse_trans |
13e60 | 66 6f 72 6d 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 | form(Xt=X2)\n\nI1t.=.minmax(mat2 |
13e80 | 69 6d 28 78 73 74 2c 20 49 31 2e 73 68 61 70 65 29 29 5c 6e 49 32 74 20 3d 20 6d 69 6e 6d 61 78 | im(xst,.I1.shape))\nI2t.=.minmax |
13ea0 | 28 6d 61 74 32 69 6d 28 78 74 73 2c 20 49 32 2e 73 68 61 70 65 29 29 5c 6e 5c 6e 23 20 25 25 22 | (mat2im(xts,.I2.shape))\n\n#.%%" |
13ec0 | 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c | .......].....},.....{......."cel |
13ee0 | 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 | l_type":."markdown",......."meta |
13f00 | 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | data":.{},......."source":.[.... |
13f20 | 20 20 20 20 20 22 50 6c 6f 74 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 69 6d 61 67 65 73 5c 6e 2d | ....."Plot.transformed.images\n- |
13f40 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 | ----------------------\n\n"..... |
13f60 | 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 | ..].....},.....{......."cell_typ |
13f80 | 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 | e":."code",......."execution_cou |
13fa0 | 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 | nt":.null,......."metadata":.{.. |
13fc0 | 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 20 | ......."collapsed":.false....... |
13fe0 | 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 | },......."outputs":.[],......."s |
14000 | 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 65 28 32 2c 20 | ource":.[........."pl.figure(2,. |
14020 | 66 69 67 73 69 7a 65 3d 28 31 30 2c 20 37 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 | figsize=(10,.7))\n\npl.subplot(2 |
14040 | 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 6c 2e 61 78 69 73 28 | ,.2,.1)\npl.imshow(I1)\npl.axis( |
14060 | 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 5c 6e 70 6c 2e | 'off')\npl.title('Im..1')\n\npl. |
14080 | 73 75 62 70 6c 6f 74 28 32 2c 20 32 2c 20 32 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 32 29 5c | subplot(2,.2,.2)\npl.imshow(I2)\ |
140a0 | 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 2e 20 32 | npl.axis('off')\npl.title('Im..2 |
140c0 | 27 29 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 69 6d | ')\n\npl.subplot(2,.2,.3)\npl.im |
140e0 | 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 74 69 | show(I1t)\npl.axis('off')\npl.ti |
14100 | 74 6c 65 28 27 4d 61 70 70 69 6e 67 20 49 6d 2e 20 31 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c | tle('Mapping.Im..1')\n\npl.subpl |
14120 | 6f 74 28 32 2c 20 32 2c 20 34 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 32 74 29 5c 6e 70 6c 2e | ot(2,.2,.4)\npl.imshow(I2t)\npl. |
14140 | 61 78 69 73 28 27 6f 66 66 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6e 76 65 72 73 65 20 6d | axis('off')\npl.title('Inverse.m |
14160 | 61 70 70 69 6e 67 20 49 6d 2e 20 32 27 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 0a 20 20 | apping.Im..2')".......].....}... |
14180 | 5d 2c 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 | ],..."metadata":.{....."kernelsp |
141a0 | 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 50 79 | ec":.{......."display_name":."Py |
141c0 | 74 68 6f 6e 20 33 22 2c 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 | thon.3",......."language":."pyth |
141e0 | 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 33 22 0a 20 20 20 | on",......."name":."python3".... |
14200 | 20 7d 2c 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":.{...... |
14220 | 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 6e | ."codemirror_mode":.{........."n |
14240 | 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f | ame":."ipython",........."versio |
14260 | 6e 22 3a 20 33 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e | n":.3.......},......."file_exten |
14280 | 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 | sion":.".py",......."mimetype":. |
142a0 | 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 | "text/x-python",......."name":." |
142c0 | 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 | python",......."nbconvert_export |
142e0 | 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c | er":."python",......."pygments_l |
14300 | 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 33 22 2c 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f | exer":."ipython3",......."versio |
14320 | 6e 22 3a 20 22 33 2e 36 2e 35 22 0a 20 20 20 20 7d 0a 20 20 7d 2c 0a 20 20 22 6e 62 66 6f 72 6d | n":."3.6.5".....}...},..."nbform |
14340 | 61 74 22 3a 20 34 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 0a 7d 50 | at":.4,..."nbformat_minor":.0.}P |
14360 | 4b 03 04 14 00 00 00 00 00 52 4c be 4c 49 c5 7b 83 fa 16 00 00 fa 16 00 00 17 00 00 00 70 6c 6f | K........RL.LI.{.............plo |
14380 | 74 5f 6f 74 64 61 5f 6d 61 70 70 69 6e 67 2e 69 70 79 6e 62 7b 0a 20 20 22 63 65 6c 6c 73 22 3a | t_otda_mapping.ipynb{..."cells": |
143a0 | 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 | .[.....{......."cell_type":."cod |
143c0 | 65 22 2c 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 | e",......."execution_count":.nul |
143e0 | 6c 2c 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 | l,......."metadata":.{........." |
14400 | 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 2c 0a 20 20 20 20 20 | collapsed":.false.......},...... |
14420 | 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 | ."outputs":.[],......."source":. |
14440 | 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 65 22 0a 20 | [........."%matplotlib.inline".. |
14460 | 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f | .....].....},.....{......."cell_ |
14480 | 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 | type":."markdown",......."metada |
144a0 | 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 | ta":.{},......."source":.[...... |
144c0 | 20 20 20 22 5c 6e 23 20 4f 54 20 6d 61 70 70 69 6e 67 20 65 73 74 69 6d 61 74 69 6f 6e 20 66 6f | ..."\n#.OT.mapping.estimation.fo |
144e0 | 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 |
14500 | 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 70 70 69 6e | ample.presents.how.to.use.Mappin |
14520 | 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 65 20 73 61 | gTransport.to.estimate.at.the.sa |
14540 | 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 72 61 6e 73 | me\ntime.both.the.coupling.trans |
14560 | 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 6e 73 70 6f | port.and.approximate.the.transpo |
14580 | 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 20 6f 72 20 | rt.map.with.either\na.linear.or. |
145a0 | 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 6f 64 75 63 | a.kernelized.mapping.as.introduc |
145c0 | 65 64 20 69 6e 20 5b 38 5d 2e 5c 6e 5c 6e 5b 38 5d 20 4d 2e 20 50 65 72 72 6f 74 2c 20 4e 2e 20 | ed.in.[8].\n\n[8].M..Perrot,.N.. |
145e0 | 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 64 2c 5c | Courty,.R..Flamary,.A..Habrard,\ |
14600 | 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 20 64 69 | n....\"Mapping.estimation.for.di |
14620 | 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 20 20 20 | screte.optimal.transport\",\n... |
14640 | 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 67 20 53 | .Neural.Information.Processing.S |
14660 | 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 20 20 20 | ystems.(NIPS),.2016.\n\n"....... |
14680 | 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 | ].....},.....{......."cell_type" |
146a0 | 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 | :."code",......."execution_count |
146c0 | 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 | ":.null,......."metadata":.{.... |
146e0 | 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 2c | ....."collapsed":.false.......}, |
14700 | 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 | ......."outputs":.[],......."sou |
14720 | 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 69 | rce":.[........."#.Authors:.Remi |
14740 | 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 3e | .Flamary.<remi.flamary@unice.fr> |
14760 | 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 3c | \n#..........Stanislas.Chambon.< |
14780 | 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 69 | stan.chambon@gmail.com>\n#\n#.Li |
147a0 | 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 6d | cense:.MIT.License\n\nimport.num |
147c0 | 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 |
147e0 | 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 0a 20 20 20 20 | b.as.pl\nimport.ot".......]..... |
14800 | 7d 2c 0a 20 20 20 20 7b 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 |
14820 | 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 | kdown",......."metadata":.{},... |
14840 | 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 47 65 6e 65 72 61 74 | ...."source":.[........."Generat |
14860 | 65 20 64 61 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 | e.data\n-------------\n\n"...... |
14880 | 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 | .].....},.....{......."cell_type |
148a0 | 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e | ":."code",......."execution_coun |
148c0 | 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 | t":.null,......."metadata":.{... |
148e0 | 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.......} |
14900 | 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f | ,......."outputs":.[],......."so |
14920 | 75 72 63 65 22 3a 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 | urce":.[........."n_source_sampl |
14940 | 65 73 20 3d 20 31 30 30 5c 6e 6e 5f 74 61 72 67 65 74 5f 73 61 6d 70 6c 65 73 20 3d 20 31 30 30 | es.=.100\nn_target_samples.=.100 |
14960 | 5c 6e 74 68 65 74 61 20 3d 20 32 20 2a 20 6e 70 2e 70 69 20 2f 20 32 30 5c 6e 6e 6f 69 73 65 5f | \ntheta.=.2.*.np.pi./.20\nnoise_ |
14980 | 6c 65 76 65 6c 20 3d 20 30 2e 31 5c 6e 5c 6e 58 73 2c 20 79 73 20 3d 20 6f 74 2e 64 61 74 61 73 | level.=.0.1\n\nXs,.ys.=.ot.datas |
149a0 | 65 74 73 2e 6d 61 6b 65 5f 64 61 74 61 5f 63 6c 61 73 73 69 66 28 5c 6e 20 20 20 20 27 67 61 75 | ets.make_data_classif(\n....'gau |
149c0 | 73 73 72 6f 74 27 2c 20 6e 5f 73 6f 75 72 63 65 5f 73 61 6d 70 6c 65 73 2c 20 6e 7a 3d 6e 6f 69 | ssrot',.n_source_samples,.nz=noi |
149e0 | 73 65 5f 6c 65 76 65 6c 29 5c 6e 58 73 5f 6e 65 77 2c 20 5f 20 3d 20 6f 74 2e 64 61 74 61 73 65 | se_level)\nXs_new,._.=.ot.datase |
14a00 | 74 73 2e 6d 61 6b 65 5f 64 61 74 61 5f 63 6c 61 73 73 69 66 28 5c 6e 20 20 20 20 27 67 61 75 73 | ts.make_data_classif(\n....'gaus |
14a20 | 73 72 6f 74 27 2c 20 6e 5f 73 6f 75 72 63 65 5f 73 61 6d 70 6c 65 73 2c 20 6e 7a 3d 6e 6f 69 73 | srot',.n_source_samples,.nz=nois |
14a40 | 65 5f 6c 65 76 65 6c 29 5c 6e 58 74 2c 20 79 74 20 3d 20 6f 74 2e 64 61 74 61 73 65 74 73 2e 6d | e_level)\nXt,.yt.=.ot.datasets.m |
14a60 | 61 6b 65 5f 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 | ake_data_classif(\n....'gaussrot |
14a80 | 27 2c 20 6e 5f 74 61 72 67 65 74 5f 73 61 6d 70 6c 65 73 2c 20 74 68 65 74 61 3d 74 68 65 74 61 | ',.n_target_samples,.theta=theta |
14aa0 | 2c 20 6e 7a 3d 6e 6f 69 73 65 5f 6c 65 76 65 6c 29 5c 6e 5c 6e 23 20 6f 6e 65 20 6f 66 20 74 68 | ,.nz=noise_level)\n\n#.one.of.th |
14ac0 | 65 20 74 61 72 67 65 74 20 6d 6f 64 65 20 63 68 61 6e 67 65 73 20 69 74 73 20 76 61 72 69 61 6e | e.target.mode.changes.its.varian |
14ae0 | 63 65 20 28 6e 6f 20 6c 69 6e 65 61 72 20 6d 61 70 70 69 6e 67 29 5c 6e 58 74 5b 79 74 20 3d 3d | ce.(no.linear.mapping)\nXt[yt.== |
14b00 | 20 32 5d 20 2a 3d 20 33 5c 6e 58 74 20 3d 20 58 74 20 2b 20 34 22 0a 20 20 20 20 20 20 5d 0a 20 | .2].*=.3\nXt.=.Xt.+.4".......].. |
14b20 | 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 | ...},.....{......."cell_type":." |
14b40 | 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c | markdown",......."metadata":.{}, |
14b60 | 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 50 6c 6f 74 | ......."source":.[........."Plot |
14b80 | 20 64 61 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 | .data\n---------\n\n".......]... |
14ba0 | 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 | ..},.....{......."cell_type":."c |
14bc0 | 6f 64 65 22 2c 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 | ode",......."execution_count":.n |
14be0 | 75 6c 6c 2c 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 | ull,......."metadata":.{........ |
14c00 | 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 2c 0a 20 20 20 | ."collapsed":.false.......},.... |
14c20 | 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 | ..."outputs":.[],......."source" |
14c40 | 3a 20 5b 0a 20 20 20 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 | :.[........."pl.figure(1,.(10,.5 |
14c60 | 29 29 5c 6e 70 6c 2e 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 | ))\npl.clf()\npl.scatter(Xs[:,.0 |
14c80 | 5d 2c 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 | ],.Xs[:,.1],.c=ys,.marker='+',.l |
14ca0 | 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 74 74 | abel='Source.samples')\npl.scatt |
14cc0 | 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 |
14ce0 | 6b 65 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 | ker='o',.label='Target.samples') |
14d00 | 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 53 6f | \npl.legend(loc=0)\npl.title('So |
14d20 | 75 72 63 65 20 61 6e 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 | urce.and.target.distributions')" |
14d40 | 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c | .......].....},.....{......."cel |
14d60 | 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 | l_type":."markdown",......."meta |
14d80 | 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 | data":.{},......."source":.[.... |
14da0 | 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 65 72 65 6e 74 20 | ....."Instantiate.the.different. |
14dc0 | 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 69 74 20 74 68 65 | transport.algorithms.and.fit.the |
14de0 | 6d 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | m\n----------------------------- |
14e00 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e | ------------------------------\n |
14e20 | 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 | \n".......].....},.....{......." |
14e40 | 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 | cell_type":."code",......."execu |
14e60 | 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 | tion_count":.null,......."metada |
14e80 | 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 |
14ea0 | 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a | e.......},......."outputs":.[],. |
14ec0 | 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 4d 61 70 | ......"source":.[........."#.Map |
14ee0 | 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 65 72 6e 65 6c | pingTransport.with.linear.kernel |
14f00 | 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 2e 4d 61 70 70 | \not_mapping_linear.=.ot.da.Mapp |
14f20 | 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 6c 69 6e 65 | ingTransport(\n....kernel=\"line |
14f40 | 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 73 3d 54 72 75 | ar\",.mu=1e0,.eta=1e-8,.bias=Tru |
14f60 | 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 65 3d 54 72 75 | e,\n....max_iter=20,.verbose=Tru |
14f80 | 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 28 58 73 3d 58 | e)\n\not_mapping_linear.fit(Xs=X |
14fa0 | 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 20 73 6f 75 72 | s,.Xt=Xt)\n\n#.for.original.sour |
14fc0 | 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 62 61 | ce.samples,.transform.applies.ba |
14fe0 | 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 73 5f 6c 69 6e | rycentric.mapping\ntransp_Xs_lin |
15000 | 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 6e 73 66 6f 72 | ear.=.ot_mapping_linear.transfor |
15020 | 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 75 72 63 65 20 | m(Xs=Xs)\n\n#.for.out.of.source. |
15040 | 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 74 68 65 20 6c | samples,.transform.applies.the.l |
15060 | 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 6e 65 61 72 5f | inear.mapping\ntransp_Xs_linear_ |
15080 | 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 6e 73 66 6f 72 | new.=.ot_mapping_linear.transfor |
150a0 | 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 54 72 61 6e 73 | m(Xs=Xs_new)\n\n\n#.MappingTrans |
150c0 | 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 6f 74 5f 6d 61 | port.with.gaussian.kernel\not_ma |
150e0 | 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 69 6e 67 54 72 | pping_gaussian.=.ot.da.MappingTr |
15100 | 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 73 69 61 6e 5c | ansport(\n....kernel=\"gaussian\ |
15120 | 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 54 72 75 65 2c | ",.eta=1e-5,.mu=1e-1,.bias=True, |
15140 | 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 20 76 65 72 62 | .sigma=1,\n....max_iter=10,.verb |
15160 | 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 69 61 6e 2e 66 | ose=True)\not_mapping_gaussian.f |
15180 | 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 72 69 67 69 6e | it(Xs=Xs,.Xt=Xt)\n\n#.for.origin |
151a0 | 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 6d 20 61 70 70 | al.source.samples,.transform.app |
151c0 | 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 72 61 6e 73 70 | lies.barycentric.mapping\ntransp |
151e0 | 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 61 75 73 73 69 | _Xs_gaussian.=.ot_mapping_gaussi |
15200 | 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 72 20 6f 75 74 | an.transform(Xs=Xs)\n\n#.for.out |
15220 | 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 72 6d 20 61 70 | .of.source.samples,.transform.ap |
15240 | 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 6e 74 72 61 6e | plies.the.gaussian.mapping\ntran |
15260 | 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 70 69 6e 67 5f | sp_Xs_gaussian_new.=.ot_mapping_ |
15280 | 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 77 29 22 0a 20 | gaussian.transform(Xs=Xs_new)".. |
152a0 | 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f | .....].....},.....{......."cell_ |
152c0 | 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 | type":."markdown",......."metada |
152e0 | 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 | ta":.{},......."source":.[...... |
15300 | 20 20 20 22 50 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 2d 2d | ..."Plot.transported.samples\n-- |
15320 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 | ----------------------\n\n"..... |
15340 | 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 | ..].....},.....{......."cell_typ |
15360 | 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 | e":."code",......."execution_cou |
15380 | 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 | nt":.null,......."metadata":.{.. |
153a0 | 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 20 | ......."collapsed":.false....... |
153c0 | 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 | },......."outputs":.[],......."s |
153e0 | 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 65 28 32 29 5c | ource":.[........."pl.figure(2)\ |
15400 | 6e 70 6c 2e 63 6c 66 28 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 32 2c 20 31 29 5c 6e | npl.clf()\npl.subplot(2,.2,.1)\n |
15420 | 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 |
15440 | 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 |
15460 | 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 |
15480 | 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 5b 3a 2c 20 30 | pl.scatter(transp_Xs_linear[:,.0 |
154a0 | 5d 2c 20 74 72 61 6e 73 70 5f 58 73 5f 6c 69 6e 65 61 72 5b 3a 2c 20 31 5d 2c 20 63 3d 79 73 2c | ],.transp_Xs_linear[:,.1],.c=ys, |
154c0 | 20 6d 61 72 6b 65 72 3d 27 2b 27 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 6c 61 62 65 6c 3d 27 | .marker='+',\n...........label=' |
154e0 | 4d 61 70 70 65 64 20 73 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 74 69 74 6c | Mapped.source.samples')\npl.titl |
15500 | 65 28 5c 22 42 61 72 79 2e 20 6d 61 70 70 69 6e 67 20 28 6c 69 6e 65 61 72 29 5c 22 29 5c 6e 70 | e(\"Bary..mapping.(linear)\")\np |
15520 | 6c 2e 6c 65 67 65 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 | l.legend(loc=0)\n\npl.subplot(2, |
15540 | 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 74 5b | .2,.2)\npl.scatter(Xt[:,.0],.Xt[ |
15560 | 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...... |
15580 | 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 |
155a0 | 68 61 3d 2e 32 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 69 6e | ha=.2)\npl.scatter(transp_Xs_lin |
155c0 | 65 61 72 5f 6e 65 77 5b 3a 2c 20 30 5d 2c 20 74 72 61 6e 73 70 5f 58 73 5f 6c 69 6e 65 61 72 5f | ear_new[:,.0],.transp_Xs_linear_ |
155e0 | 6e 65 77 5b 3a 2c 20 31 5d 2c 5c 6e 20 20 20 20 20 20 20 20 20 20 20 63 3d 79 73 2c 20 6d 61 72 | new[:,.1],\n...........c=ys,.mar |
15600 | 6b 65 72 3d 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 4c 65 61 72 6e 65 64 20 6d 61 70 70 69 6e 67 27 | ker='+',.label='Learned.mapping' |
15620 | 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 5c 22 45 73 74 69 6d 2e 20 6d 61 70 70 69 6e 67 20 28 6c 69 | )\npl.title(\"Estim..mapping.(li |
15640 | 6e 65 61 72 29 5c 22 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 32 2c 20 33 29 5c | near)\")\n\npl.subplot(2,.2,.3)\ |
15660 | 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],. |
15680 | 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 20 6c 61 | c=yt,.marker='o',\n...........la |
156a0 | 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 2e 32 29 5c | bel='Target.samples',.alpha=.2)\ |
156c0 | 6e 70 6c 2e 73 63 61 74 74 65 72 28 74 72 61 6e 73 70 5f 58 73 5f 67 61 75 73 73 69 61 6e 5b 3a | npl.scatter(transp_Xs_gaussian[: |
156e0 | 2c 20 30 5d 2c 20 74 72 61 6e 73 70 5f 58 73 5f 67 61 75 73 73 69 61 6e 5b 3a 2c 20 31 5d 2c 20 | ,.0],.transp_Xs_gaussian[:,.1],. |
15700 | 63 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 | c=ys,\n...........marker='+',.la |
15720 | 62 65 6c 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 | bel='barycentric.mapping')\npl.t |
15740 | 69 74 6c 65 28 5c 22 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 | itle(\"Bary..mapping.(kernel)\") |
15760 | 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 32 2c 20 34 29 5c 6e 70 6c 2e 73 63 61 74 | \n\npl.subplot(2,.2,.4)\npl.scat |
15780 | 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 |
157a0 | 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 |
157c0 | 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 |
157e0 | 74 65 72 28 74 72 61 6e 73 70 5f 58 73 5f 67 61 75 73 73 69 61 6e 5f 6e 65 77 5b 3a 2c 20 30 5d | ter(transp_Xs_gaussian_new[:,.0] |
15800 | 2c 20 74 72 61 6e 73 70 5f 58 73 5f 67 61 75 73 73 69 61 6e 5f 6e 65 77 5b 3a 2c 20 31 5d 2c 20 | ,.transp_Xs_gaussian_new[:,.1],. |
15820 | 63 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 | c=ys,\n...........marker='+',.la |
15840 | 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 74 6c 65 | bel='Learned.mapping')\npl.title |
15860 | 28 5c 22 45 73 74 69 6d 2e 20 6d 61 70 70 69 6e 67 20 28 6b 65 72 6e 65 6c 29 5c 22 29 5c 6e 70 | (\"Estim..mapping.(kernel)\")\np |
15880 | 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 29 22 0a 20 | l.tight_layout()\n\npl.show()".. |
158a0 | 20 20 20 20 20 5d 0a 20 20 20 20 7d 0a 20 20 5d 2c 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 | .....].....}...],..."metadata":. |
158c0 | 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 22 64 69 73 | {....."kernelspec":.{......."dis |
158e0 | 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 33 22 2c 0a 20 20 20 20 20 20 22 6c | play_name":."Python.3",......."l |
15900 | 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 | anguage":."python",......."name" |
15920 | 3a 20 22 70 79 74 68 6f 6e 33 22 0a 20 20 20 20 7d 2c 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 | :."python3".....},....."language |
15940 | 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 | _info":.{......."codemirror_mode |
15960 | 22 3a 20 7b 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 22 2c 0a | ":.{........."name":."ipython",. |
15980 | 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 33 0a 20 20 20 20 20 20 7d 2c 0a 20 20 | ........"version":.3.......},... |
159a0 | 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 0a 20 20 20 | ...."file_extension":.".py",.... |
159c0 | 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 22 2c 0a | ..."mimetype":."text/x-python",. |
159e0 | 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e | ......"name":."python",......."n |
15a00 | 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 0a 20 20 | bconvert_exporter":."python",... |
15a20 | 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 33 22 | ...."pygments_lexer":."ipython3" |
15a40 | 2c 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 33 2e 36 2e 35 22 0a 20 20 20 20 7d | ,......."version":."3.6.5".....} |
15a60 | 0a 20 20 7d 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 0a 20 20 22 6e 62 66 6f 72 6d | ...},..."nbformat":.4,..."nbform |
15a80 | 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 0a 7d 50 4b 03 04 14 00 00 00 00 00 4f 4c be 4c e5 eb aa 89 | at_minor":.0.}PK........OL.L.... |
15aa0 | 7c 10 00 00 7c 10 00 00 16 00 00 00 70 6c 6f 74 5f 63 6f 6d 70 75 74 65 5f 65 6d 64 2e 69 70 79 | |...|.......plot_compute_emd.ipy |
15ac0 | 6e 62 7b 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 63 65 | nb{..."cells":.[.....{......."ce |
15ae0 | 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 | ll_type":."code",......."executi |
15b00 | 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 | on_count":.null,......."metadata |
15b20 | 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 65 0a | ":.{........."collapsed":.false. |
15b40 | 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 | ......},......."outputs":.[],... |
15b60 | 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 |
15b80 | 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 | tlib.inline".......].....},..... |
15ba0 | 7b 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", |
15bc0 | 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f | ......."metadata":.{},......."so |
15be0 | 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 23 20 50 6c 6f 74 20 6d 75 6c 74 69 | urce":.[........."\n#.Plot.multi |
15c00 | 70 6c 65 20 45 4d 44 5c 6e 5c 6e 5c 6e 53 68 6f 77 73 20 68 6f 77 20 74 6f 20 63 6f 6d 70 75 74 | ple.EMD\n\n\nShows.how.to.comput |
15c20 | 65 20 6d 75 6c 74 69 70 6c 65 20 45 4d 44 20 61 6e 64 20 53 69 6e 6b 68 6f 72 6e 20 77 69 74 68 | e.multiple.EMD.and.Sinkhorn.with |
15c40 | 20 74 77 6f 20 64 69 66 66 65 72 6e 74 5c 6e 67 72 6f 75 6e 64 20 6d 65 74 72 69 63 73 20 61 6e | .two.differnt\nground.metrics.an |
15c60 | 64 20 70 6c 6f 74 20 74 68 65 69 72 20 76 61 6c 75 65 73 20 66 6f 72 20 64 69 66 66 65 65 6e 74 | d.plot.their.values.for.diffeent |
15c80 | 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 2e 5c 6e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d | .distributions.\n\n\n\n".......] |
15ca0 | 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a | .....},.....{......."cell_type": |
15cc0 | 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 | ."code",......."execution_count" |
15ce0 | 3a 20 6e 75 6c 6c 2c 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 | :.null,......."metadata":.{..... |
15d00 | 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 2c 0a | ...."collapsed":.false.......},. |
15d20 | 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 | ......"outputs":.[],......."sour |
15d40 | 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 |
15d60 | 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 |
15d80 | 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 |
15da0 | 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 |
15dc0 | 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 6f 6d 20 | ib.pylab.as.pl\nimport.ot\nfrom. |
15de0 | 6f 74 2e 64 61 74 61 73 65 74 73 20 69 6d 70 6f 72 74 20 6d 61 6b 65 5f 31 44 5f 67 61 75 73 73 | ot.datasets.import.make_1D_gauss |
15e00 | 20 61 73 20 67 61 75 73 73 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a | .as.gauss".......].....},.....{. |
15e20 | 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 0a 20 | ......"cell_type":."markdown",.. |
15e40 | 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 | ....."metadata":.{},......."sour |
15e60 | 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 65 6e 65 72 61 74 65 20 64 61 74 61 5c 6e 2d | ce":.[........."Generate.data\n- |
15e80 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c | ------------\n\n".......].....}, |
15ea0 | 0a 20 20 20 20 7b 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 | .....{......."cell_type":."code" |
15ec0 | 2c 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, |
15ee0 | 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 6f | ......."metadata":.{........."co |
15f00 | 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 | llapsed":.false.......},......." |
15f20 | 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a | outputs":.[],......."source":.[. |
15f40 | 20 20 20 20 20 20 20 20 22 23 25 25 20 70 61 72 61 6d 65 74 65 72 73 5c 6e 5c 6e 6e 20 3d 20 31 | ........"#%%.parameters\n\nn.=.1 |
15f60 | 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..#. |
15f80 | 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 |
15fa0 | 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 |
15fc0 | 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 |
15fe0 | 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 |
16000 | 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 |
16020 | 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 |
16040 | 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)) |
16060 | 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) |
16080 | 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 |
160a0 | 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 |
160c0 | 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 |
160e0 | 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 |
16100 | 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 |
16120 | 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( |
16140 | 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 |
16160 | 32 2e 6d 61 78 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 | 2.max()".......].....},.....{... |
16180 | 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 0a 20 20 20 | ...."cell_type":."markdown",.... |
161a0 | 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 | ..."metadata":.{},......."source |
161c0 | 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 6c 6f 74 20 64 61 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d | ":.[........."Plot.data\n------- |
161e0 | 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 | --\n\n".......].....},.....{.... |
16200 | 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 | ..."cell_type":."code",......."e |
16220 | 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 | xecution_count":.null,......."me |
16240 | 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":. |
16260 | 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 | false.......},......."outputs":. |
16280 | 5b 5d 2c 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 | [],......."source":.[........."# |
162a0 | 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 70 6c 2e | %%.plot.the.distributions\n\npl. |
162c0 | 66 69 67 75 72 65 28 31 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 31 2c 20 31 29 5c 6e | figure(1)\npl.subplot(2,.1,.1)\n |
162e0 | 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 |
16300 | 20 64 69 73 74 72 69 62 75 74 69 6f 6e 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 53 6f 75 72 63 | .distribution')\npl.title('Sourc |
16320 | 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 27 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 20 | e.distribution')\npl.subplot(2,. |
16340 | 31 2c 20 32 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 20 42 2c 20 6c 61 62 65 6c 3d 27 54 61 72 67 | 1,.2)\npl.plot(x,.B,.label='Targ |
16360 | 65 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 54 61 | et.distributions')\npl.title('Ta |
16380 | 72 67 65 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c | rget.distributions')\npl.tight_l |
163a0 | 61 79 6f 75 74 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 | ayout()".......].....},.....{... |
163c0 | 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 0a 20 20 20 | ...."cell_type":."markdown",.... |
163e0 | 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 | ..."metadata":.{},......."source |
16400 | 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 70 75 74 65 20 45 4d 44 20 66 6f 72 20 74 68 | ":.[........."Compute.EMD.for.th |
16420 | 65 20 64 69 66 66 65 72 65 6e 74 20 6c 6f 73 73 65 73 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | e.different.losses\n------------ |
16440 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 | ------------------------\n\n"... |
16460 | 20 20 20 20 5d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 | ....].....},.....{......."cell_t |
16480 | 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 | ype":."code",......."execution_c |
164a0 | 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b | ount":.null,......."metadata":.{ |
164c0 | 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..... |
164e0 | 20 20 7d 2c 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 | ..},......."outputs":.[],....... |
16500 | 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 25 25 20 43 6f 6d 70 75 74 65 | "source":.[........."#%%.Compute |
16520 | 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 |
16540 | 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, |
16560 | 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 |
16580 | 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)..#. |
165a0 | 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 |
165c0 | 6f 73 73 20 4d 32 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.M2\n\n\npl.figure(2)\npl.plo |
165e0 | 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')\ |
16600 | 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. |
16620 | 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 |
16640 | 69 73 74 61 6e 63 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 29 22 0a 20 20 20 20 20 20 5d | istances')\npl.legend()".......] |
16660 | 0a 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a | .....},.....{......."cell_type": |
16680 | 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b | ."markdown",......."metadata":.{ |
166a0 | 7d 2c 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 43 6f | },......."source":.[........."Co |
166c0 | 6d 70 75 74 65 20 53 69 6e 6b 68 6f 72 6e 20 66 6f 72 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 | mpute.Sinkhorn.for.the.different |
166e0 | 20 6c 6f 73 73 65 73 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | .losses\n----------------------- |
16700 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 0a | ------------------\n\n".......]. |
16720 | 20 20 20 20 7d 2c 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 | ....},.....{......."cell_type":. |
16740 | 22 63 6f 64 65 22 2c 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 | "code",......."execution_count": |
16760 | 20 6e 75 6c 6c 2c 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 | .null,......."metadata":.{...... |
16780 | 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 2c 0a 20 | ..."collapsed":.false.......},.. |
167a0 | 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 22 73 6f 75 72 63 | ....."outputs":.[],......."sourc |
167c0 | 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 23 25 25 5c 6e 72 65 67 20 3d 20 31 65 2d 32 5c 6e | e":.[........."#%%\nreg.=.1e-2\n |
167e0 | 64 5f 73 69 6e 6b 68 6f 72 6e 20 3d 20 6f 74 2e 73 69 6e 6b 68 6f 72 6e 32 28 61 2c 20 42 2c 20 | d_sinkhorn.=.ot.sinkhorn2(a,.B,. |
16800 | 4d 2c 20 72 65 67 29 5c 6e 64 5f 73 69 6e 6b 68 6f 72 6e 32 20 3d 20 6f 74 2e 73 69 6e 6b 68 6f | M,.reg)\nd_sinkhorn2.=.ot.sinkho |
16820 | 72 6e 32 28 61 2c 20 42 2c 20 4d 32 2c 20 72 65 67 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 | rn2(a,.B,.M2,.reg)\n\npl.figure( |
16840 | 32 29 5c 6e 70 6c 2e 63 6c 66 28 29 5c 6e 70 6c 2e 70 6c 6f 74 28 64 5f 65 6d 64 2c 20 6c 61 62 | 2)\npl.clf()\npl.plot(d_emd,.lab |
16860 | 65 6c 3d 27 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 65 | el='Euclidean.EMD')\npl.plot(d_e |
16880 | 6d 64 32 2c 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 45 4d | md2,.label='Squared.Euclidean.EM |
168a0 | 44 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 64 5f 73 69 6e 6b 68 6f 72 6e 2c 20 27 2b 27 2c 20 6c 61 | D')\npl.plot(d_sinkhorn,.'+',.la |
168c0 | 62 65 6c 3d 27 45 75 63 6c 69 64 65 61 6e 20 53 69 6e 6b 68 6f 72 6e 27 29 5c 6e 70 6c 2e 70 6c | bel='Euclidean.Sinkhorn')\npl.pl |
168e0 | 6f 74 28 64 5f 73 69 6e 6b 68 6f 72 6e 32 2c 20 27 2b 27 2c 20 6c 61 62 65 6c 3d 27 53 71 75 61 | ot(d_sinkhorn2,.'+',.label='Squa |
16900 | 72 65 64 20 45 75 63 6c 69 64 65 61 6e 20 53 69 6e 6b 68 6f 72 6e 27 29 5c 6e 70 6c 2e 74 69 74 | red.Euclidean.Sinkhorn')\npl.tit |
16920 | 6c 65 28 27 45 4d 44 20 64 69 73 74 61 6e 63 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 29 | le('EMD.distances')\npl.legend() |
16940 | 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 0a 20 20 20 20 7d 0a 20 20 5d | \n\npl.show()".......].....}...] |
16960 | 2c 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 | ,..."metadata":.{....."kernelspe |
16980 | 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 50 79 74 | c":.{......."display_name":."Pyt |
169a0 | 68 6f 6e 20 33 22 2c 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 | hon.3",......."language":."pytho |
169c0 | 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 33 22 0a 20 20 20 20 | n",......."name":."python3"..... |
169e0 | 7d 2c 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":.{....... |
16a00 | 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 6e 61 | "codemirror_mode":.{........."na |
16a20 | 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e | me":."ipython",........."version |
16a40 | 22 3a 20 33 0a 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 | ":.3.......},......."file_extens |
16a60 | 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 | ion":.".py",......."mimetype":." |
16a80 | 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 | text/x-python",......."name":."p |
16aa0 | 79 74 68 6f 6e 22 2c 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 | ython",......."nbconvert_exporte |
16ac0 | 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 | r":."python",......."pygments_le |
16ae0 | 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 33 22 2c 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e | xer":."ipython3",......."version |
16b00 | 22 3a 20 22 33 2e 36 2e 35 22 0a 20 20 20 20 7d 0a 20 20 7d 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 | ":."3.6.5".....}...},..."nbforma |
16b20 | 74 22 3a 20 34 2c 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 0a 7d 50 4b | t":.4,..."nbformat_minor":.0.}PK |
16b40 | 03 04 14 00 00 00 00 00 a7 6e a2 4c b3 d8 ae 69 5b 16 00 00 5b 16 00 00 1c 00 00 00 70 6c 6f 74 | .........n.L...i[...[.......plot |
16b60 | 5f 6f 74 64 61 5f 63 6f 6c 6f 72 5f 69 6d 61 67 65 73 2e 69 70 79 6e 62 7b 0a 20 20 22 6e 62 66 | _otda_color_images.ipynb{..."nbf |
16b80 | 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 20 | ormat_minor":.0,...."nbformat":. |
16ba0 | 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 78 | 4,...."cells":.[.....{......."ex |
16bc0 | 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 65 | ecution_count":.null,........"ce |
16be0 | 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 65 | ll_type":."code",........"source |
16c00 | 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 65 | ":.[........."%matplotlib.inline |
16c20 | 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":.[], |
16c40 | 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 |
16c60 | 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.......}.....},. |
16c80 | 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":.[........ |
16ca0 | 20 22 5c 6e 23 20 4f 54 20 66 6f 72 20 69 6d 61 67 65 20 63 6f 6c 6f 72 20 61 64 61 70 74 61 74 | ."\n#.OT.for.image.color.adaptat |
16cc0 | 69 6f 6e 5c 6e 5c 6e 5c 6e 54 68 69 73 20 65 78 61 6d 70 6c 65 20 70 72 65 73 65 6e 74 73 20 61 | ion\n\n\nThis.example.presents.a |
16ce0 | 20 77 61 79 20 6f 66 20 74 72 61 6e 73 66 65 72 72 69 6e 67 20 63 6f 6c 6f 72 73 20 62 65 74 77 | .way.of.transferring.colors.betw |
16d00 | 65 65 6e 20 74 77 6f 20 69 6d 61 67 65 5c 6e 77 69 74 68 20 4f 70 74 69 6d 61 6c 20 54 72 61 6e | een.two.image\nwith.Optimal.Tran |
16d20 | 73 70 6f 72 74 20 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 5b 36 5d 5c 6e 5c 6e 5b 36 | sport.as.introduced.in.[6]\n\n[6 |
16d40 | 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 2c 20 | ].Ferradans,.S.,.Papadakis,.N.,. |
16d60 | 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 34 29 | Peyre,.G.,.&.Aujol,.J..F..(2014) |
16d80 | 2e 5c 6e 52 65 67 75 6c 61 72 69 7a 65 64 20 64 69 73 63 72 65 74 65 20 6f 70 74 69 6d 61 6c 20 | .\nRegularized.discrete.optimal. |
16da0 | 74 72 61 6e 73 70 6f 72 74 2e 5c 6e 53 49 41 4d 20 4a 6f 75 72 6e 61 6c 20 6f 6e 20 49 6d 61 67 | transport.\nSIAM.Journal.on.Imag |
16dc0 | 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 38 32 2e 5c 6e | ing.Sciences,.7(3),.1853-1882.\n |
16de0 | 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": |
16e00 | 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":. |
16e20 | 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 |
16e40 | 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 |
16e60 | 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":.[.. |
16e80 | 20 20 20 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 | ......."#.Authors:.Remi.Flamary. |
16ea0 | 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 20 20 20 20 20 20 | <remi.flamary@unice.fr>\n#...... |
16ec0 | 20 20 20 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 | ....Stanislas.Chambon.<stan.cham |
16ee0 | 62 6f 6e 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 | bon@gmail.com>\n#\n#.License:.MI |
16f00 | 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 73 20 6e 70 5c | T.License\n\nimport.numpy.as.np\ |
16f20 | 6e 66 72 6f 6d 20 73 63 69 70 79 20 69 6d 70 6f 72 74 20 6e 64 69 6d 61 67 65 5c 6e 69 6d 70 6f | nfrom.scipy.import.ndimage\nimpo |
16f40 | 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 |
16f60 | 74 20 6f 74 5c 6e 5c 6e 5c 6e 72 20 3d 20 6e 70 2e 72 61 6e 64 6f 6d 2e 52 61 6e 64 6f 6d 53 74 | t.ot\n\n\nr.=.np.random.RandomSt |
16f80 | 61 74 65 28 34 32 29 5c 6e 5c 6e 5c 6e 64 65 66 20 69 6d 32 6d 61 74 28 49 29 3a 5c 6e 20 20 20 | ate(42)\n\n\ndef.im2mat(I):\n... |
16fa0 | 20 5c 22 5c 22 5c 22 43 6f 6e 76 65 72 74 73 20 61 6e 64 20 69 6d 61 67 65 20 74 6f 20 6d 61 74 | .\"\"\"Converts.and.image.to.mat |
16fc0 | 72 69 78 20 28 6f 6e 65 20 70 69 78 65 6c 20 70 65 72 20 6c 69 6e 65 29 5c 22 5c 22 5c 22 5c 6e | rix.(one.pixel.per.line)\"\"\"\n |
16fe0 | 20 20 20 20 72 65 74 75 72 6e 20 49 2e 72 65 73 68 61 70 65 28 28 49 2e 73 68 61 70 65 5b 30 5d | ....return.I.reshape((I.shape[0] |
17000 | 20 2a 20 49 2e 73 68 61 70 65 5b 31 5d 2c 20 49 2e 73 68 61 70 65 5b 32 5d 29 29 5c 6e 5c 6e 5c | .*.I.shape[1],.I.shape[2]))\n\n\ |
17020 | 6e 64 65 66 20 6d 61 74 32 69 6d 28 58 2c 20 73 68 61 70 65 29 3a 5c 6e 20 20 20 20 5c 22 5c 22 | ndef.mat2im(X,.shape):\n....\"\" |
17040 | 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 6f 20 61 6e 20 69 | \"Converts.back.a.matrix.to.an.i |
17060 | 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 65 73 68 61 70 65 | mage\"\"\"\n....return.X.reshape |
17080 | 28 73 68 61 70 65 29 5c 6e 5c 6e 5c 6e 64 65 66 20 6d 69 6e 6d 61 78 28 49 29 3a 5c 6e 20 20 20 | (shape)\n\n\ndef.minmax(I):\n... |
170a0 | 20 72 65 74 75 72 6e 20 6e 70 2e 63 6c 69 70 28 49 2c 20 30 2c 20 31 29 22 0a 20 20 20 20 20 20 | .return.np.clip(I,.0,.1)"....... |
170c0 | 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":.[],........ |
170e0 | 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 |
17100 | 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.......}.....},......{.. |
17120 | 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 47 65 6e 65 72 61 | ....."source":.[........."Genera |
17140 | 74 65 20 64 61 74 61 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 | te.data\n-------------\n\n"..... |
17160 | 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 |
17180 | 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":.{}.....} |
171a0 | 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" |
171c0 | 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 |
171e0 | 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":.[........." |
17200 | 23 20 4c 6f 61 64 69 6e 67 20 69 6d 61 67 65 73 5c 6e 49 31 20 3d 20 6e 64 69 6d 61 67 65 2e 69 | #.Loading.images\nI1.=.ndimage.i |
17220 | 6d 72 65 61 64 28 27 2e 2e 2f 64 61 74 61 2f 6f 63 65 61 6e 5f 64 61 79 2e 6a 70 67 27 29 2e 61 | mread('../data/ocean_day.jpg').a |
17240 | 73 74 79 70 65 28 6e 70 2e 66 6c 6f 61 74 36 34 29 20 2f 20 32 35 36 5c 6e 49 32 20 3d 20 6e 64 | stype(np.float64)./.256\nI2.=.nd |
17260 | 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 73 75 6e 73 | image.imread('../data/ocean_suns |
17280 | 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 20 2f 20 32 35 | et.jpg').astype(np.float64)./.25 |
172a0 | 36 5c 6e 5c 6e 58 31 20 3d 20 69 6d 32 6d 61 74 28 49 31 29 5c 6e 58 32 20 3d 20 69 6d 32 6d 61 | 6\n\nX1.=.im2mat(I1)\nX2.=.im2ma |
172c0 | 74 28 49 32 29 5c 6e 5c 6e 23 20 74 72 61 69 6e 69 6e 67 20 73 61 6d 70 6c 65 73 5c 6e 6e 62 20 | t(I2)\n\n#.training.samples\nnb. |
172e0 | 3d 20 31 30 30 30 5c 6e 69 64 78 31 20 3d 20 72 2e 72 61 6e 64 69 6e 74 28 58 31 2e 73 68 61 70 | =.1000\nidx1.=.r.randint(X1.shap |
17300 | 65 5b 30 5d 2c 20 73 69 7a 65 3d 28 6e 62 2c 29 29 5c 6e 69 64 78 32 20 3d 20 72 2e 72 61 6e 64 | e[0],.size=(nb,))\nidx2.=.r.rand |
17320 | 69 6e 74 28 58 32 2e 73 68 61 70 65 5b 30 5d 2c 20 73 69 7a 65 3d 28 6e 62 2c 29 29 5c 6e 5c 6e | int(X2.shape[0],.size=(nb,))\n\n |
17340 | 58 73 20 3d 20 58 31 5b 69 64 78 31 2c 20 3a 5d 5c 6e 58 74 20 3d 20 58 32 5b 69 64 78 32 2c 20 | Xs.=.X1[idx1,.:]\nXt.=.X2[idx2,. |
17360 | 3a 5d 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 | :]".......],........"outputs":.[ |
17380 | 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":.{......... |
173a0 | 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.......}.....} |
173c0 | 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":.[...... |
173e0 | 20 20 20 22 50 6c 6f 74 20 6f 72 69 67 69 6e 61 6c 20 69 6d 61 67 65 5c 6e 2d 2d 2d 2d 2d 2d 2d | ..."Plot.original.image\n------- |
17400 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 | ------------\n\n".......],...... |
17420 | 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",...... |
17440 | 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":.{}.....},......{.. |
17460 | 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,... |
17480 | 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",....... |
174a0 | 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 65 28 | ."source":.[........."pl.figure( |
174c0 | 31 2c 20 66 69 67 73 69 7a 65 3d 28 36 2e 34 2c 20 33 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c | 1,.figsize=(6.4,.3))\n\npl.subpl |
174e0 | 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 6c 2e 61 | ot(1,.2,.1)\npl.imshow(I1)\npl.a |
17500 | 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 27 29 5c | xis('off')\npl.title('Image.1')\ |
17520 | 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 73 68 6f | n\npl.subplot(1,.2,.2)\npl.imsho |
17540 | 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 6c 65 28 | w(I2)\npl.axis('off')\npl.title( |
17560 | 27 49 6d 61 67 65 20 32 27 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 | 'Image.2')".......],........"out |
17580 | 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":.{. |
175a0 | 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...... |
175c0 | 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": |
175e0 | 20 5b 0a 20 20 20 20 20 20 20 20 22 53 63 61 74 74 65 72 20 70 6c 6f 74 20 6f 66 20 63 6f 6c 6f | .[........."Scatter.plot.of.colo |
17600 | 72 73 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a | rs\n----------------------\n\n". |
17620 | 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 |
17640 | 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":.{}.. |
17660 | 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 |
17680 | 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":. |
176a0 | 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":.[...... |
176c0 | 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 20 33 | ..."pl.figure(2,.figsize=(6.4,.3 |
176e0 | 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 73 63 | ))\n\npl.subplot(1,.2,.1)\npl.sc |
17700 | 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 29 5c | atter(Xs[:,.0],.Xs[:,.2],.c=Xs)\ |
17720 | 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 62 65 | npl.axis([0,.1,.0,.1])\npl.xlabe |
17740 | 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 6c 2e | l('Red')\npl.ylabel('Blue')\npl. |
17760 | 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 28 31 | title('Image.1')\n\npl.subplot(1 |
17780 | 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 74 | ,.2,.2)\npl.scatter(Xt[:,.0],.Xt |
177a0 | 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 30 2c | [:,.2],.c=Xt)\npl.axis([0,.1,.0, |
177c0 | 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 62 65 | .1])\npl.xlabel('Red')\npl.ylabe |
177e0 | 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 6e | l('Blue')\npl.title('Image.2')\n |
17800 | 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 20 20 | pl.tight_layout()".......],..... |
17820 | 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 |
17840 | 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 |
17860 | 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 |
17880 | 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 69 61 74 65 20 74 | ource":.[........."Instantiate.t |
178a0 | 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 6f 72 69 74 68 6d | he.different.transport.algorithm |
178c0 | 73 20 61 6e 64 20 66 69 74 20 74 68 65 6d 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | s.and.fit.them\n---------------- |
178e0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
17900 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 | -----------\n\n".......],....... |
17920 | 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",....... |
17940 | 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":.{}.....},......{... |
17960 | 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,.... |
17980 | 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",........ |
179a0 | 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 6e 73 70 | "source":.[........."#.EMDTransp |
179c0 | 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 6f 72 74 | ort\not_emd.=.ot.da.EMDTransport |
179e0 | 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 6e 5c 6e | ()\not_emd.fit(Xs=Xs,.Xt=Xt)\n\n |
17a00 | 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 6e | #.SinkhornTransport\not_sinkhorn |
17a20 | 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 65 | .=.ot.da.SinkhornTransport(reg_e |
17a40 | 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 58 | =1e-1)\not_sinkhorn.fit(Xs=Xs,.X |
17a60 | 74 3d 58 74 29 5c 6e 5c 6e 23 20 70 72 65 64 69 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 69 6d | t=Xt)\n\n#.prediction.between.im |
17a80 | 61 67 65 73 20 28 75 73 69 6e 67 20 6f 75 74 20 6f 66 20 73 61 6d 70 6c 65 20 70 72 65 64 69 63 | ages.(using.out.of.sample.predic |
17aa0 | 74 69 6f 6e 20 61 73 20 69 6e 20 5b 36 5d 29 5c 6e 74 72 61 6e 73 70 5f 58 73 5f 65 6d 64 20 3d | tion.as.in.[6])\ntransp_Xs_emd.= |
17ac0 | 20 6f 74 5f 65 6d 64 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 | .ot_emd.transform(Xs=X1)\ntransp |
17ae0 | 5f 58 74 5f 65 6d 64 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 | _Xt_emd.=.ot_emd.inverse_transfo |
17b00 | 72 6d 28 58 74 3d 58 32 29 5c 6e 5c 6e 74 72 61 6e 73 70 5f 58 73 5f 73 69 6e 6b 68 6f 72 6e 20 | rm(Xt=X2)\n\ntransp_Xs_sinkhorn. |
17b20 | 3d 20 6f 74 5f 65 6d 64 2e 74 72 61 6e 73 66 6f 72 6d 28 58 73 3d 58 31 29 5c 6e 74 72 61 6e 73 | =.ot_emd.transform(Xs=X1)\ntrans |
17b40 | 70 5f 58 74 5f 73 69 6e 6b 68 6f 72 6e 20 3d 20 6f 74 5f 65 6d 64 2e 69 6e 76 65 72 73 65 5f 74 | p_Xt_sinkhorn.=.ot_emd.inverse_t |
17b60 | 72 61 6e 73 66 6f 72 6d 28 58 74 3d 58 32 29 5c 6e 5c 6e 49 31 74 20 3d 20 6d 69 6e 6d 61 78 28 | ransform(Xt=X2)\n\nI1t.=.minmax( |
17b80 | 6d 61 74 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 | mat2im(transp_Xs_emd,.I1.shape)) |
17ba0 | 5c 6e 49 32 74 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 | \nI2t.=.minmax(mat2im(transp_Xt_ |
17bc0 | 65 6d 64 2c 20 49 32 2e 73 68 61 70 65 29 29 5c 6e 5c 6e 49 31 74 65 20 3d 20 6d 69 6e 6d 61 78 | emd,.I2.shape))\n\nI1te.=.minmax |
17be0 | 28 6d 61 74 32 69 6d 28 74 72 61 6e 73 70 5f 58 73 5f 73 69 6e 6b 68 6f 72 6e 2c 20 49 31 2e 73 | (mat2im(transp_Xs_sinkhorn,.I1.s |
17c00 | 68 61 70 65 29 29 5c 6e 49 32 74 65 20 3d 20 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 74 72 61 | hape))\nI2te.=.minmax(mat2im(tra |
17c20 | 6e 73 70 5f 58 74 5f 73 69 6e 6b 68 6f 72 6e 2c 20 49 32 2e 73 68 61 70 65 29 29 22 0a 20 20 20 | nsp_Xt_sinkhorn,.I2.shape))".... |
17c40 | 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":.[],..... |
17c60 | 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 |
17c80 | 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 0a 20 20 20 20 | sed":.false.......}.....},...... |
17ca0 | 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 20 22 50 6c 6f | {......."source":.[........."Plo |
17cc0 | 74 20 6e 65 77 20 69 6d 61 67 65 73 5c 6e 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 5c 6e 5c | t.new.images\n---------------\n\ |
17ce0 | 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":. |
17d00 | 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":.{ |
17d20 | 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 |
17d40 | 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 |
17d60 | 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":.[... |
17d80 | 20 20 20 20 20 20 22 70 6c 2e 66 69 67 75 72 65 28 33 2c 20 66 69 67 73 69 7a 65 3d 28 38 2c 20 | ......"pl.figure(3,.figsize=(8,. |
17da0 | 34 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 6e 70 6c 2e 69 | 4))\n\npl.subplot(2,.3,.1)\npl.i |
17dc0 | 6d 73 68 6f 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 | mshow(I1)\npl.axis('off')\npl.ti |
17de0 | 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 28 32 2c 20 | tle('Image.1')\n\npl.subplot(2,. |
17e00 | 33 2c 20 32 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 74 29 5c 6e 70 6c 2e 61 78 69 73 28 27 | 3,.2)\npl.imshow(I1t)\npl.axis(' |
17e20 | 6f 66 66 27 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 27 29 | off')\npl.title('Image.1.Adapt') |
17e40 | 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 73 68 | \n\npl.subplot(2,.3,.3)\npl.imsh |
17e60 | 6f 77 28 49 31 74 65 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 | ow(I1te)\npl.axis('off')\npl.tit |
17e80 | 6c 65 28 27 49 6d 61 67 65 20 31 20 41 64 61 70 74 20 28 72 65 67 29 27 29 5c 6e 5c 6e 70 6c 2e | le('Image.1.Adapt.(reg)')\n\npl. |
17ea0 | 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 28 49 32 29 5c | subplot(2,.3,.4)\npl.imshow(I2)\ |
17ec0 | 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 |
17ee0 | 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 35 29 5c 6e 70 6c 2e | .2')\n\npl.subplot(2,.3,.5)\npl. |
17f00 | 69 6d 73 68 6f 77 28 49 32 74 29 5c 6e 70 6c 2e 61 78 69 73 28 27 6f 66 66 27 29 5c 6e 70 6c 2e | imshow(I2t)\npl.axis('off')\npl. |
17f20 | 74 69 74 6c 65 28 27 49 6d 61 67 65 20 32 20 41 64 61 70 74 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 | title('Image.2.Adapt')\n\npl.sub |
17f40 | 70 6c 6f 74 28 32 2c 20 33 2c 20 36 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 32 74 65 29 5c 6e | plot(2,.3,.6)\npl.imshow(I2te)\n |
17f60 | 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. |
17f80 | 32 20 41 64 61 70 74 20 28 72 65 67 29 27 29 5c 6e 70 6c 2e 74 69 67 68 74 5f 6c 61 79 6f 75 74 | 2.Adapt.(reg)')\npl.tight_layout |
17fa0 | 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 20 20 | ()\n\npl.show()".......],....... |
17fc0 | 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 74 61 | ."outputs":.[],........"metadata |
17fe0 | 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 65 0a | ":.{........."collapsed":.false. |
18000 | 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 61 22 | ......}.....}...],...."metadata" |
18020 | 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 22 64 | :.{....."kernelspec":.{......."d |
18040 | 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 20 20 | isplay_name":."Python.2",....... |
18060 | 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 6e 67 | ."name":."python2",........"lang |
18080 | 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 61 6e | uage":."python".....},......"lan |
180a0 | 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 22 3a | guage_info":.{......."mimetype": |
180c0 | 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 6e 76 | ."text/x-python",........"nbconv |
180e0 | 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 20 20 | ert_exporter":."python",........ |
18100 | 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 5f 65 | "name":."python",........"file_e |
18120 | 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 69 6f | xtension":.".py",........"versio |
18140 | 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 5f 6c | n":."2.7.12",........"pygments_l |
18160 | 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 65 6d | exer":."ipython2",........"codem |
18180 | 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 6e 22 | irror_mode":.{........."version" |
181a0 | 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 22 0a | :.2,.........."name":."ipython". |
181c0 | 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 01 02 14 03 14 00 00 00 00 00 4d | ......}.....}...}.}PK..........M |
181e0 | 4c be 4c 88 ac 62 ba 81 11 00 00 81 11 00 00 11 00 00 00 00 00 00 00 00 00 00 00 b4 81 00 00 00 | L.L..b.......................... |
18200 | 00 70 6c 6f 74 5f 67 72 6f 6d 6f 76 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 a7 6e | .plot_gromov.ipynbPK...........n |
18220 | a2 4c ae 38 61 57 26 14 00 00 26 14 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 b4 81 b0 11 00 00 | .L.8aW&...&..................... |
18240 | 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 18 7f a2 4c aa d3 | plot_WDA.ipynbPK.............L.. |
18260 | d6 af 27 23 00 00 27 23 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 b4 81 02 26 00 00 70 6c 6f 74 | ..'#..'#.................&..plot |
18280 | 5f 67 72 6f 6d 6f 76 5f 62 61 72 79 63 65 6e 74 65 72 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 | _gromov_barycenter.ipynbPK...... |
182a0 | 00 00 00 00 4c 4c be 4c 17 03 7f 9a 5e 13 00 00 5e 13 00 00 16 00 00 00 00 00 00 00 00 00 00 00 | ....LL.L....^...^............... |
182c0 | b4 81 63 49 00 00 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 | ..cI..plot_optim_OTreg.ipynbPK.. |
182e0 | 14 03 14 00 00 00 00 00 69 4c be 4c d1 72 b5 4d f4 1c 00 00 f4 1c 00 00 12 00 00 00 00 00 00 00 | ........iL.L.r.M................ |
18300 | 00 00 00 00 b4 81 f5 5c 00 00 70 6c 6f 74 5f 6f 74 64 61 5f 64 32 2e 69 70 79 6e 62 50 4b 01 02 | .......\..plot_otda_d2.ipynbPK.. |
18320 | 14 03 14 00 00 00 00 00 53 4c be 4c a9 b8 76 f6 f8 19 00 00 f8 19 00 00 1f 00 00 00 00 00 00 00 | ........SL.L..v................. |
18340 | 00 00 00 00 b4 81 19 7a 00 00 70 6c 6f 74 5f 6f 74 64 61 5f 73 65 6d 69 5f 73 75 70 65 72 76 69 | .......z..plot_otda_semi_supervi |
18360 | 73 65 64 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 4b 4c be 4c 27 4a df 9c 9d 0d 00 | sed.ipynbPK..........KL.L'J..... |
18380 | 00 9d 0d 00 00 10 00 00 00 00 00 00 00 00 00 00 00 b4 81 4e 94 00 00 70 6c 6f 74 5f 4f 54 5f 31 | ...................N...plot_OT_1 |
183a0 | 44 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 51 4c be 4c 18 79 30 f2 4b 11 00 00 4b | D.ipynbPK..........QL.L.y0.K...K |
183c0 | 11 00 00 18 00 00 00 00 00 00 00 00 00 00 00 b4 81 19 a2 00 00 70 6c 6f 74 5f 62 61 72 79 63 65 | .....................plot_baryce |
183e0 | 6e 74 65 72 5f 31 44 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 fb 4c be 4c cc bf 84 | nter_1D.ipynbPK...........L.L... |
18400 | 66 2d 18 00 00 2d 18 00 00 17 00 00 00 00 00 00 00 00 00 00 00 b4 81 9a b3 00 00 70 6c 6f 74 5f | f-...-.....................plot_ |
18420 | 6f 74 64 61 5f 63 6c 61 73 73 65 73 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 a7 6e | otda_classes.ipynbPK...........n |
18440 | a2 4c ee 5d c2 9b 78 18 00 00 78 18 00 00 25 00 00 00 00 00 00 00 00 00 00 00 b4 81 fc cb 00 00 | .L.]..x...x...%................. |
18460 | 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 2e | plot_otda_mapping_colors_images. |
18480 | 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 69 4c be 4c 3e 1d 30 6f d5 1a 00 00 d5 1a 00 | ipynbPK..........iL.L>.0o....... |
184a0 | 00 16 00 00 00 00 00 00 00 00 00 00 00 b4 81 b7 e4 00 00 70 6c 6f 74 5f 4f 54 5f 4c 31 5f 76 73 | ...................plot_OT_L1_vs |
184c0 | 5f 4c 32 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 97 53 be 4c f9 b0 b7 c4 b9 1d 00 | _L2.ipynbPK...........S.L....... |
184e0 | 00 b9 1d 00 00 24 00 00 00 00 00 00 00 00 00 00 00 b4 81 c0 ff 00 00 70 6c 6f 74 5f 62 61 72 79 | .....$.................plot_bary |
18500 | 63 65 6e 74 65 72 5f 6c 70 5f 76 73 5f 65 6e 74 72 6f 70 69 63 2e 69 70 79 6e 62 50 4b 01 02 14 | center_lp_vs_entropic.ipynbPK... |
18520 | 03 14 00 00 00 00 00 63 4d be 4c 17 38 53 24 28 10 00 00 28 10 00 00 18 00 00 00 00 00 00 00 00 | .......cM.L.8S$(...(............ |
18540 | 00 00 00 b4 81 bb 1d 01 00 70 6c 6f 74 5f 4f 54 5f 32 44 5f 73 61 6d 70 6c 65 73 2e 69 70 79 6e | .........plot_OT_2D_samples.ipyn |
18560 | 62 50 4b 01 02 14 03 14 00 00 00 00 00 91 53 be 4c b5 c3 fd 1f 0a 15 00 00 0a 15 00 00 1e 00 00 | bPK...........S.L............... |
18580 | 00 00 00 00 00 00 00 00 00 b4 81 19 2e 01 00 70 6c 6f 74 5f 6f 74 64 61 5f 6c 69 6e 65 61 72 5f | ...............plot_otda_linear_ |
185a0 | 6d 61 70 70 69 6e 67 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 52 4c be 4c 49 c5 7b | mapping.ipynbPK..........RL.LI.{ |
185c0 | 83 fa 16 00 00 fa 16 00 00 17 00 00 00 00 00 00 00 00 00 00 00 b4 81 5f 43 01 00 70 6c 6f 74 5f | ......................._C..plot_ |
185e0 | 6f 74 64 61 5f 6d 61 70 70 69 6e 67 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 4f 4c | otda_mapping.ipynbPK..........OL |
18600 | be 4c e5 eb aa 89 7c 10 00 00 7c 10 00 00 16 00 00 00 00 00 00 00 00 00 00 00 b4 81 8e 5a 01 00 | .L....|...|..................Z.. |
18620 | 70 6c 6f 74 5f 63 6f 6d 70 75 74 65 5f 65 6d 64 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 | plot_compute_emd.ipynbPK........ |
18640 | 00 00 a7 6e a2 4c b3 d8 ae 69 5b 16 00 00 5b 16 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 b4 81 | ...n.L...i[...[................. |
18660 | 3e 6b 01 00 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 6e 62 | >k..plot_otda_color_images.ipynb |
18680 | 50 4b 05 06 00 00 00 00 11 00 11 00 ad 04 00 00 d3 81 01 00 00 00 | PK.................... |