ofs | hex dump | ascii |
---|
0000 | 50 4b 03 04 14 00 00 00 00 00 87 7b 82 49 fa 8c 13 06 e2 10 00 00 e2 10 00 00 25 00 00 00 61 75 | PK.........{.I............%...au |
0020 | 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 44 41 5f 6d 61 70 70 69 6e 67 2e 69 70 | to_examples/plot_OTDA_mapping.ip |
0040 | 79 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 | ynb{..."nbformat_minor":.0,...." |
0060 | 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 | nbformat":.4,...."cells":.[..... |
0080 | 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, |
00a0 | 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",.... |
00c0 | 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 |
00e0 | 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 | tlib.inline".......],........"ou |
0100 | 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":.{ |
0120 | 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..... |
0140 | 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" |
0160 | 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | :.[........."\n================= |
0180 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e | ==============================\n |
01a0 | 4f 54 20 6d 61 70 70 69 6e 67 20 65 73 74 69 6d 61 74 69 6f 6e 20 66 6f 72 20 64 6f 6d 61 69 6e | OT.mapping.estimation.for.domain |
01c0 | 20 61 64 61 70 74 61 74 69 6f 6e 20 5b 38 5d 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | .adaptation.[8]\n=============== |
01e0 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
0200 | 5c 6e 5c 6e 5b 38 5d 20 4d 2e 20 50 65 72 72 6f 74 2c 20 4e 2e 20 43 6f 75 72 74 79 2c 20 52 2e | \n\n[8].M..Perrot,.N..Courty,.R. |
0220 | 20 46 6c 61 6d 61 72 79 2c 20 41 2e 20 48 61 62 72 61 72 64 2c 20 5c 22 4d 61 70 70 69 6e 67 20 | .Flamary,.A..Habrard,.\"Mapping. |
0240 | 65 73 74 69 6d 61 74 69 6f 6e 20 66 6f 72 5c 6e 20 20 20 20 64 69 73 63 72 65 74 65 20 6f 70 74 | estimation.for\n....discrete.opt |
0260 | 69 6d 61 6c 20 74 72 61 6e 73 70 6f 72 74 5c 22 2c 20 4e 65 75 72 61 6c 20 49 6e 66 6f 72 6d 61 | imal.transport\",.Neural.Informa |
0280 | 74 69 6f 6e 20 50 72 6f 63 65 73 73 69 6e 67 20 53 79 73 74 65 6d 73 20 28 4e 49 50 53 29 2c 20 | tion.Processing.Systems.(NIPS),. |
02a0 | 32 30 31 36 2e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c | 2016.\n\n".......],........"cell |
02c0 | 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 | _type":."markdown",........"meta |
02e0 | 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 | data":.{}.....},......{......."e |
0300 | 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 | xecution_count":.null,........"c |
0320 | 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 | ell_type":."code",........"sourc |
0340 | 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 6e | e":.[........."import.numpy.as.n |
0360 | 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 70 6c | p\nimport.matplotlib.pylab.as.pl |
0380 | 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 64 61 74 61 73 65 74 20 67 | \nimport.ot\n\n\n\n#%%.dataset.g |
03a0 | 65 6e 65 72 61 74 69 6f 6e 5c 6e 5c 6e 6e 70 2e 72 61 6e 64 6f 6d 2e 73 65 65 64 28 30 29 20 23 | eneration\n\nnp.random.seed(0).# |
03c0 | 20 6d 61 6b 65 73 20 65 78 61 6d 70 6c 65 20 72 65 70 72 6f 64 75 63 69 62 6c 65 5c 6e 5c 6e 6e | .makes.example.reproducible\n\nn |
03e0 | 3d 31 30 30 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 64 20 | =100.#.nb.samples.in.source.and. |
0400 | 74 61 72 67 65 74 20 64 61 74 61 73 65 74 73 5c 6e 74 68 65 74 61 3d 32 2a 6e 70 2e 70 69 2f 32 | target.datasets\ntheta=2*np.pi/2 |
0420 | 30 5c 6e 6e 7a 3d 30 2e 31 5c 6e 78 73 2c 79 73 3d 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 | 0\nnz=0.1\nxs,ys=ot.datasets.get |
0440 | 5f 64 61 74 61 5f 63 6c 61 73 73 69 66 28 27 67 61 75 73 73 72 6f 74 27 2c 6e 2c 6e 7a 3d 6e 7a | _data_classif('gaussrot',n,nz=nz |
0460 | 29 5c 6e 78 74 2c 79 74 3d 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 64 61 74 61 5f 63 6c | )\nxt,yt=ot.datasets.get_data_cl |
0480 | 61 73 73 69 66 28 27 67 61 75 73 73 72 6f 74 27 2c 6e 2c 74 68 65 74 61 3d 74 68 65 74 61 2c 6e | assif('gaussrot',n,theta=theta,n |
04a0 | 7a 3d 6e 7a 29 5c 6e 5c 6e 23 20 6f 6e 65 20 6f 66 20 74 68 65 20 74 61 72 67 65 74 20 6d 6f 64 | z=nz)\n\n#.one.of.the.target.mod |
04c0 | 65 20 63 68 61 6e 67 65 73 20 69 74 73 20 76 61 72 69 61 6e 63 65 20 28 6e 6f 20 6c 69 6e 65 61 | e.changes.its.variance.(no.linea |
04e0 | 72 20 6d 61 70 70 69 6e 67 29 5c 6e 78 74 5b 79 74 3d 3d 32 5d 2a 3d 33 5c 6e 78 74 3d 78 74 2b | r.mapping)\nxt[yt==2]*=3\nxt=xt+ |
0500 | 34 5c 6e 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 70 6c 2e 66 69 | 4\n\n\n#%%.plot.samples\n\npl.fi |
0520 | 67 75 72 65 28 31 2c 28 38 2c 35 29 29 5c 6e 70 6c 2e 63 6c 66 28 29 5c 6e 5c 6e 70 6c 2e 73 63 | gure(1,(8,5))\npl.clf()\n\npl.sc |
0540 | 61 74 74 65 72 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 | atter(xs[:,0],xs[:,1],c=ys,marke |
0560 | 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 | r='+',label='Source.samples')\np |
0580 | 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d | l.scatter(xt[:,0],xt[:,1],c=yt,m |
05a0 | 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 | arker='o',label='Target.samples' |
05c0 | 29 5c 6e 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 | )\n\npl.legend(loc=0)\npl.title( |
05e0 | 27 53 6f 75 72 63 65 20 61 6e 64 20 74 61 72 67 65 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 | 'Source.and.target.distributions |
0600 | 27 29 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 4f 54 20 6c 69 6e 65 61 72 20 6d 61 70 70 69 6e 67 20 | ')\n\n\n\n#%%.OT.linear.mapping. |
0620 | 65 73 74 69 6d 61 74 69 6f 6e 5c 6e 5c 6e 65 74 61 3d 31 65 2d 38 20 20 20 23 20 71 75 61 64 72 | estimation\n\neta=1e-8...#.quadr |
0640 | 61 74 69 63 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 20 66 6f 72 20 72 65 67 72 65 73 73 69 | atic.regularization.for.regressi |
0660 | 6f 6e 5c 6e 6d 75 3d 31 65 30 20 20 20 20 20 23 20 77 65 69 67 68 74 20 6f 66 20 74 68 65 20 4f | on\nmu=1e0.....#.weight.of.the.O |
0680 | 54 20 6c 69 6e 65 61 72 20 74 65 72 6d 5c 6e 62 69 61 73 3d 54 72 75 65 20 20 23 20 65 73 74 69 | T.linear.term\nbias=True..#.esti |
06a0 | 6d 61 74 65 20 61 20 62 69 61 73 5c 6e 5c 6e 6f 74 5f 6d 61 70 70 69 6e 67 3d 6f 74 2e 64 61 2e | mate.a.bias\n\not_mapping=ot.da. |
06c0 | 4f 54 44 41 5f 6d 61 70 70 69 6e 67 5f 6c 69 6e 65 61 72 28 29 5c 6e 6f 74 5f 6d 61 70 70 69 6e | OTDA_mapping_linear()\not_mappin |
06e0 | 67 2e 66 69 74 28 78 73 2c 78 74 2c 6d 75 3d 6d 75 2c 65 74 61 3d 65 74 61 2c 62 69 61 73 3d 62 | g.fit(xs,xt,mu=mu,eta=eta,bias=b |
0700 | 69 61 73 2c 6e 75 6d 49 74 65 72 6d 61 78 20 3d 20 32 30 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 | ias,numItermax.=.20,verbose=True |
0720 | 29 5c 6e 5c 6e 78 73 74 3d 6f 74 5f 6d 61 70 70 69 6e 67 2e 70 72 65 64 69 63 74 28 78 73 29 20 | )\n\nxst=ot_mapping.predict(xs). |
0740 | 23 20 75 73 65 20 74 68 65 20 65 73 74 69 6d 61 74 65 64 20 6d 61 70 70 69 6e 67 5c 6e 78 73 74 | #.use.the.estimated.mapping\nxst |
0760 | 30 3d 6f 74 5f 6d 61 70 70 69 6e 67 2e 69 6e 74 65 72 70 28 29 20 20 20 23 20 75 73 65 20 62 61 | 0=ot_mapping.interp()...#.use.ba |
0780 | 72 79 63 65 6e 74 72 69 63 20 6d 61 70 70 69 6e 67 5c 6e 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 | rycentric.mapping\n\n\npl.figure |
07a0 | 28 32 2c 28 31 30 2c 37 29 29 5c 6e 70 6c 2e 63 6c 66 28 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 | (2,(10,7))\npl.clf()\npl.subplot |
07c0 | 28 32 2c 32 2c 31 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a | (2,2,1)\npl.scatter(xt[:,0],xt[: |
07e0 | 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 | ,1],c=yt,marker='o',label='Targe |
0800 | 74 20 73 61 6d 70 6c 65 73 27 2c 61 6c 70 68 61 3d 2e 33 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 | t.samples',alpha=.3)\npl.scatter |
0820 | 28 78 73 74 30 5b 3a 2c 30 5d 2c 78 73 74 30 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 | (xst0[:,0],xst0[:,1],c=ys,marker |
0840 | 3d 27 2b 27 2c 6c 61 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 | ='+',label='barycentric.mapping' |
0860 | 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 5c 22 62 61 72 79 63 65 6e 74 72 69 63 20 6d 61 70 70 69 6e | )\npl.title(\"barycentric.mappin |
0880 | 67 5c 22 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 32 29 5c 6e 70 6c 2e 73 63 | g\")\n\npl.subplot(2,2,2)\npl.sc |
08a0 | 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 | atter(xt[:,0],xt[:,1],c=yt,marke |
08c0 | 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 61 6c 70 | r='o',label='Target.samples',alp |
08e0 | 68 61 3d 2e 33 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 5b 3a 2c 30 5d 2c 78 73 74 5b | ha=.3)\npl.scatter(xst[:,0],xst[ |
0900 | 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 4c 65 61 72 | :,1],c=ys,marker='+',label='Lear |
0920 | 6e 65 64 20 6d 61 70 70 69 6e 67 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 5c 22 4c 65 61 72 6e 65 | ned.mapping')\npl.title(\"Learne |
0940 | 64 20 6d 61 70 70 69 6e 67 5c 22 29 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 4b 65 72 6e 65 6c 20 6d | d.mapping\")\n\n\n\n#%%.Kernel.m |
0960 | 61 70 70 69 6e 67 20 65 73 74 69 6d 61 74 69 6f 6e 5c 6e 5c 6e 65 74 61 3d 31 65 2d 35 20 20 20 | apping.estimation\n\neta=1e-5... |
0980 | 23 20 71 75 61 64 72 61 74 69 63 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 20 66 6f 72 20 72 | #.quadratic.regularization.for.r |
09a0 | 65 67 72 65 73 73 69 6f 6e 5c 6e 6d 75 3d 31 65 2d 31 20 20 20 20 20 23 20 77 65 69 67 68 74 20 | egression\nmu=1e-1.....#.weight. |
09c0 | 6f 66 20 74 68 65 20 4f 54 20 6c 69 6e 65 61 72 20 74 65 72 6d 5c 6e 62 69 61 73 3d 54 72 75 65 | of.the.OT.linear.term\nbias=True |
09e0 | 20 20 23 20 65 73 74 69 6d 61 74 65 20 61 20 62 69 61 73 5c 6e 73 69 67 6d 61 3d 31 20 20 20 20 | ..#.estimate.a.bias\nsigma=1.... |
0a00 | 23 20 73 69 67 6d 61 20 62 61 6e 64 77 69 64 74 68 20 66 6f 74 20 67 61 75 73 73 69 61 6e 20 6b | #.sigma.bandwidth.fot.gaussian.k |
0a20 | 65 72 6e 65 6c 5c 6e 5c 6e 5c 6e 6f 74 5f 6d 61 70 70 69 6e 67 5f 6b 65 72 6e 65 6c 3d 6f 74 2e | ernel\n\n\not_mapping_kernel=ot. |
0a40 | 64 61 2e 4f 54 44 41 5f 6d 61 70 70 69 6e 67 5f 6b 65 72 6e 65 6c 28 29 5c 6e 6f 74 5f 6d 61 70 | da.OTDA_mapping_kernel()\not_map |
0a60 | 70 69 6e 67 5f 6b 65 72 6e 65 6c 2e 66 69 74 28 78 73 2c 78 74 2c 6d 75 3d 6d 75 2c 65 74 61 3d | ping_kernel.fit(xs,xt,mu=mu,eta= |
0a80 | 65 74 61 2c 73 69 67 6d 61 3d 73 69 67 6d 61 2c 62 69 61 73 3d 62 69 61 73 2c 6e 75 6d 49 74 65 | eta,sigma=sigma,bias=bias,numIte |
0aa0 | 72 6d 61 78 20 3d 20 31 30 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 5c 6e 78 73 74 5f 6b | rmax.=.10,verbose=True)\n\nxst_k |
0ac0 | 65 72 6e 65 6c 3d 6f 74 5f 6d 61 70 70 69 6e 67 5f 6b 65 72 6e 65 6c 2e 70 72 65 64 69 63 74 28 | ernel=ot_mapping_kernel.predict( |
0ae0 | 78 73 29 20 23 20 75 73 65 20 74 68 65 20 65 73 74 69 6d 61 74 65 64 20 6d 61 70 70 69 6e 67 5c | xs).#.use.the.estimated.mapping\ |
0b00 | 6e 78 73 74 30 5f 6b 65 72 6e 65 6c 3d 6f 74 5f 6d 61 70 70 69 6e 67 5f 6b 65 72 6e 65 6c 2e 69 | nxst0_kernel=ot_mapping_kernel.i |
0b20 | 6e 74 65 72 70 28 29 20 20 20 23 20 75 73 65 20 62 61 72 79 63 65 6e 74 72 69 63 20 6d 61 70 70 | nterp()...#.use.barycentric.mapp |
0b40 | 69 6e 67 5c 6e 5c 6e 5c 6e 23 25 25 20 50 6c 6f 74 74 69 6e 67 20 74 68 65 20 6d 61 70 70 65 64 | ing\n\n\n#%%.Plotting.the.mapped |
0b60 | 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 2c 28 31 30 2c 37 29 29 5c | .samples\n\npl.figure(2,(10,7))\ |
0b80 | 6e 70 6c 2e 63 6c 66 28 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 31 29 5c 6e 70 6c | npl.clf()\npl.subplot(2,2,1)\npl |
0ba0 | 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 | .scatter(xt[:,0],xt[:,1],c=yt,ma |
0bc0 | 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c | rker='o',label='Target.samples', |
0be0 | 61 6c 70 68 61 3d 2e 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 30 5b 3a 2c 30 5d 2c | alpha=.2)\npl.scatter(xst0[:,0], |
0c00 | 78 73 74 30 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d | xst0[:,1],c=ys,marker='+',label= |
0c20 | 27 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 | 'Mapped.source.samples')\npl.tit |
0c40 | 6c 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 | le(\"Bary..mapping.(linear)\")\n |
0c60 | 70 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 | pl.legend(loc=0)\n\npl.subplot(2 |
0c80 | 2c 32 2c 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 | ,2,2)\npl.scatter(xt[:,0],xt[:,1 |
0ca0 | 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 | ],c=yt,marker='o',label='Target. |
0cc0 | 73 61 6d 70 6c 65 73 27 2c 61 6c 70 68 61 3d 2e 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 | samples',alpha=.2)\npl.scatter(x |
0ce0 | 73 74 5b 3a 2c 30 5d 2c 78 73 74 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 | st[:,0],xst[:,1],c=ys,marker='+' |
0d00 | 2c 6c 61 62 65 6c 3d 27 4c 65 61 72 6e 65 64 20 6d 61 70 70 69 6e 67 27 29 5c 6e 70 6c 2e 74 69 | ,label='Learned.mapping')\npl.ti |
0d20 | 74 6c 65 28 5c 22 45 73 74 69 6d 2e 20 6d 61 70 70 69 6e 67 20 28 6c 69 6e 65 61 72 29 5c 22 29 | tle(\"Estim..mapping.(linear)\") |
0d40 | 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 33 29 5c 6e 70 6c 2e 73 63 61 74 74 65 | \n\npl.subplot(2,2,3)\npl.scatte |
0d60 | 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f | r(xt[:,0],xt[:,1],c=yt,marker='o |
0d80 | 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 61 6c 70 68 61 3d 2e | ',label='Target.samples',alpha=. |
0da0 | 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 30 5f 6b 65 72 6e 65 6c 5b 3a 2c 30 5d 2c | 2)\npl.scatter(xst0_kernel[:,0], |
0dc0 | 78 73 74 30 5f 6b 65 72 6e 65 6c 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 | xst0_kernel[:,1],c=ys,marker='+' |
0de0 | 2c 6c 61 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 | ,label='barycentric.mapping')\np |
0e00 | 6c 2e 74 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 | l.title(\"Bary..mapping.(kernel) |
0e20 | 5c 22 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 34 29 5c 6e 70 6c 2e 73 63 61 | \")\n\npl.subplot(2,2,4)\npl.sca |
0e40 | 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 | tter(xt[:,0],xt[:,1],c=yt,marker |
0e60 | 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 61 6c 70 68 | ='o',label='Target.samples',alph |
0e80 | 61 3d 2e 32 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 5f 6b 65 72 6e 65 6c 5b 3a 2c 30 | a=.2)\npl.scatter(xst_kernel[:,0 |
0ea0 | 5d 2c 78 73 74 5f 6b 65 72 6e 65 6c 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b | ],xst_kernel[:,1],c=ys,marker='+ |
0ec0 | 27 2c 6c 61 62 65 6c 3d 27 4c 65 61 72 6e 65 64 20 6d 61 70 70 69 6e 67 27 29 5c 6e 70 6c 2e 74 | ',label='Learned.mapping')\npl.t |
0ee0 | 69 74 6c 65 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 | itle(\"Estim..mapping.(kernel)\" |
0f00 | 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d | )".......],........"outputs":.[] |
0f20 | 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 | ,........"metadata":.{........." |
0f40 | 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a | collapsed":.false.......}.....}. |
0f60 | 20 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 | ..],...."metadata":.{....."kerne |
0f80 | 6c 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 | lspec":.{......."display_name":. |
0fa0 | 22 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 | "Python.2",........"name":."pyth |
0fc0 | 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e | on2",........"language":."python |
0fe0 | 22 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b | ".....},......"language_info":.{ |
1000 | 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f | ......."mimetype":."text/x-pytho |
1020 | 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a | n",........"nbconvert_exporter": |
1040 | 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f | ."python",........"name":."pytho |
1060 | 6e 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 | n",........"file_extension":.".p |
1080 | 79 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 | y",........"version":."2.7.12",. |
10a0 | 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f | ......."pygments_lexer":."ipytho |
10c0 | 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b | n2",........"codemirror_mode":.{ |
10e0 | 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 | ........."version":.2,.......... |
1100 | 22 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a | "name":."ipython".......}.....}. |
1120 | 20 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 ad 7a 82 49 a0 a0 4d 23 dd 08 00 00 dd 08 00 00 24 | ..}.}PK.........z.I..M#........$ |
1140 | 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 6f 70 74 69 6d 5f 4f 54 72 65 | ...auto_examples/plot_optim_OTre |
1160 | 67 2e 69 70 79 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 | g.ipynb{..."nbformat_minor":.0,. |
1180 | 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a | ..."nbformat":.4,...."cells":.[. |
11a0 | 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 |
11c0 | 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", |
11e0 | 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 | ........"source":.[........."%ma |
1200 | 74 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 | tplotlib.inline".......],....... |
1220 | 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 |
1240 | 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. |
1260 | 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 6f 75 | ......}.....},......{......."sou |
1280 | 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 23 20 52 65 67 75 6c 61 72 69 7a 65 64 | rce":.[........."\n#.Regularized |
12a0 | 20 4f 54 20 77 69 74 68 20 67 65 6e 65 72 69 63 20 73 6f 6c 76 65 72 5c 6e 5c 6e 5c 6e 5c 6e 5c | .OT.with.generic.solver\n\n\n\n\ |
12c0 | 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":. |
12e0 | 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":.{ |
1300 | 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 |
1320 | 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 |
1340 | 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":.[... |
1360 | 20 20 20 20 20 20 22 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 | ......"import.numpy.as.np\nimpor |
1380 | 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 |
13a0 | 20 6f 74 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 70 61 72 61 6d 65 74 65 72 73 5c 6e 5c 6e 6e 3d 31 | .ot\n\n\n\n#%%.parameters\n\nn=1 |
13c0 | 30 30 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 | 00.#.nb.bins\n\n#.bin.positions\ |
13e0 | 6e 78 3d 6e 70 2e 61 72 61 6e 67 65 28 6e 2c 64 74 79 70 65 3d 6e 70 2e 66 6c 6f 61 74 36 34 29 | nx=np.arange(n,dtype=np.float64) |
1400 | 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 61 3d | \n\n#.Gaussian.distributions\na= |
1420 | 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 31 44 5f 67 61 75 73 73 28 6e 2c 6d 3d 32 30 2c | ot.datasets.get_1D_gauss(n,m=20, |
1440 | 73 3d 35 29 20 23 20 6d 3d 20 6d 65 61 6e 2c 20 73 3d 20 73 74 64 5c 6e 62 3d 6f 74 2e 64 61 74 | s=5).#.m=.mean,.s=.std\nb=ot.dat |
1460 | 61 73 65 74 73 2e 67 65 74 5f 31 44 5f 67 61 75 73 73 28 6e 2c 6d 3d 36 30 2c 73 3d 31 30 29 5c | asets.get_1D_gauss(n,m=60,s=10)\ |
1480 | 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 4d 3d 6f 74 2e 64 69 73 74 28 78 2e 72 65 | n\n#.loss.matrix\nM=ot.dist(x.re |
14a0 | 73 68 61 70 65 28 28 6e 2c 31 29 29 2c 78 2e 72 65 73 68 61 70 65 28 28 6e 2c 31 29 29 29 5c 6e | shape((n,1)),x.reshape((n,1)))\n |
14c0 | 4d 2f 3d 4d 2e 6d 61 78 28 29 5c 6e 5c 6e 23 25 25 20 45 4d 44 5c 6e 5c 6e 47 30 3d 6f 74 2e 65 | M/=M.max()\n\n#%%.EMD\n\nG0=ot.e |
14e0 | 6d 64 28 61 2c 62 2c 4d 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 33 29 5c 6e 6f 74 2e 70 6c | md(a,b,M)\n\npl.figure(3)\not.pl |
1500 | 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 62 2c 47 30 2c 27 4f 54 20 6d 61 74 72 69 78 20 | ot.plot1D_mat(a,b,G0,'OT.matrix. |
1520 | 47 30 27 29 5c 6e 5c 6e 23 25 25 20 45 78 61 6d 70 6c 65 20 77 69 74 68 20 46 72 6f 62 65 6e 69 | G0')\n\n#%%.Example.with.Frobeni |
1540 | 75 73 20 6e 6f 72 6d 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 5c 6e 5c 6e 64 65 66 20 66 28 | us.norm.regularization\n\ndef.f( |
1560 | 47 29 3a 20 72 65 74 75 72 6e 20 30 2e 35 2a 6e 70 2e 73 75 6d 28 47 2a 2a 32 29 5c 6e 64 65 66 | G):.return.0.5*np.sum(G**2)\ndef |
1580 | 20 64 66 28 47 29 3a 20 72 65 74 75 72 6e 20 47 5c 6e 5c 6e 72 65 67 3d 31 65 2d 31 5c 6e 5c 6e | .df(G):.return.G\n\nreg=1e-1\n\n |
15a0 | 47 6c 32 3d 6f 74 2e 6f 70 74 69 6d 2e 63 67 28 61 2c 62 2c 4d 2c 72 65 67 2c 66 2c 64 66 2c 76 | Gl2=ot.optim.cg(a,b,M,reg,f,df,v |
15c0 | 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 33 29 5c 6e 6f 74 | erbose=True)\n\npl.figure(3)\not |
15e0 | 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 62 2c 47 6c 32 2c 27 4f 54 20 6d 61 74 | .plot.plot1D_mat(a,b,Gl2,'OT.mat |
1600 | 72 69 78 20 46 72 6f 62 2e 20 72 65 67 27 29 5c 6e 5c 6e 23 25 25 20 45 78 61 6d 70 6c 65 20 77 | rix.Frob..reg')\n\n#%%.Example.w |
1620 | 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 64 | ith.entropic.regularization\n\nd |
1640 | 65 66 20 66 28 47 29 3a 20 72 65 74 75 72 6e 20 6e 70 2e 73 75 6d 28 47 2a 6e 70 2e 6c 6f 67 28 | ef.f(G):.return.np.sum(G*np.log( |
1660 | 47 29 29 5c 6e 64 65 66 20 64 66 28 47 29 3a 20 72 65 74 75 72 6e 20 6e 70 2e 6c 6f 67 28 47 29 | G))\ndef.df(G):.return.np.log(G) |
1680 | 2b 31 5c 6e 5c 6e 72 65 67 3d 31 65 2d 33 5c 6e 5c 6e 47 65 3d 6f 74 2e 6f 70 74 69 6d 2e 63 67 | +1\n\nreg=1e-3\n\nGe=ot.optim.cg |
16a0 | 28 61 2c 62 2c 4d 2c 72 65 67 2c 66 2c 64 66 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 5c | (a,b,M,reg,f,df,verbose=True)\n\ |
16c0 | 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 31 44 5f 6d 61 | npl.figure(4)\not.plot.plot1D_ma |
16e0 | 74 28 61 2c 62 2c 47 65 2c 27 4f 54 20 6d 61 74 72 69 78 20 45 6e 74 72 6f 70 2e 20 72 65 67 27 | t(a,b,Ge,'OT.matrix.Entrop..reg' |
1700 | 29 5c 6e 5c 6e 23 25 25 20 45 78 61 6d 70 6c 65 20 77 69 74 68 20 46 72 6f 62 65 6e 69 75 73 20 | )\n\n#%%.Example.with.Frobenius. |
1720 | 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 69 6f 6e 20 77 | norm.+.entropic.regularization.w |
1740 | 69 74 68 20 67 63 67 5c 6e 5c 6e 64 65 66 20 66 28 47 29 3a 20 72 65 74 75 72 6e 20 30 2e 35 2a | ith.gcg\n\ndef.f(G):.return.0.5* |
1760 | 6e 70 2e 73 75 6d 28 47 2a 2a 32 29 5c 6e 64 65 66 20 64 66 28 47 29 3a 20 72 65 74 75 72 6e 20 | np.sum(G**2)\ndef.df(G):.return. |
1780 | 47 5c 6e 5c 6e 72 65 67 31 3d 31 65 2d 31 5c 6e 72 65 67 32 3d 31 65 2d 31 5c 6e 5c 6e 47 65 6c | G\n\nreg1=1e-1\nreg2=1e-1\n\nGel |
17a0 | 32 3d 6f 74 2e 6f 70 74 69 6d 2e 67 63 67 28 61 2c 62 2c 4d 2c 72 65 67 31 2c 72 65 67 32 2c 66 | 2=ot.optim.gcg(a,b,M,reg1,reg2,f |
17c0 | 2c 64 66 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 35 | ,df,verbose=True)\n\npl.figure(5 |
17e0 | 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 62 2c 47 65 6c 32 2c 27 | )\not.plot.plot1D_mat(a,b,Gel2,' |
1800 | 4f 54 20 65 6e 74 72 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 | OT.entropic.+.matrix.Frob..reg') |
1820 | 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":.[], |
1840 | 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 |
1860 | 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 | ollapsed":.false.......}.....}.. |
1880 | 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c | .],...."metadata":.{....."kernel |
18a0 | 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 | spec":.{......."display_name":." |
18c0 | 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f | Python.2",........"name":."pytho |
18e0 | 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 | n2",........"language":."python" |
1900 | 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a | .....},......"language_info":.{. |
1920 | 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e | ......"mimetype":."text/x-python |
1940 | 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 | ",........"nbconvert_exporter":. |
1960 | 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e | "python",........"name":."python |
1980 | 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 | ",........"file_extension":.".py |
19a0 | 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a | ",........"version":."2.7.12",.. |
19c0 | 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 |
19e0 | 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a | 2",........"codemirror_mode":.{. |
1a00 | 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 | ........"version":.2,.........." |
1a20 | 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 | name":."ipython".......}.....}.. |
1a40 | 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 76 7b 82 49 50 0d 0a 74 03 0e 00 00 03 0e 00 00 25 00 | .}.}PK........v{.IP..t........%. |
1a60 | 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 44 41 5f 63 6c 61 73 73 65 | ..auto_examples/plot_OTDA_classe |
1a80 | 73 2e 69 70 79 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 | s.ipynb{..."nbformat_minor":.0,. |
1aa0 | 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a | ..."nbformat":.4,...."cells":.[. |
1ac0 | 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 |
1ae0 | 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", |
1b00 | 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 | ........"source":.[........."%ma |
1b20 | 74 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 | tplotlib.inline".......],....... |
1b40 | 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 |
1b60 | 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. |
1b80 | 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 6f 75 | ......}.....},......{......."sou |
1ba0 | 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 64 6f 6d 61 | rce":.[........."\n#.OT.for.doma |
1bc0 | 69 6e 20 61 64 61 70 74 61 74 69 6f 6e 5c 6e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 | in.adaptation\n\n\n\n".......],. |
1be0 | 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 | ......."cell_type":."markdown",. |
1c00 | 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 | ......."metadata":.{}.....},.... |
1c20 | 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c | ..{......."execution_count":.nul |
1c40 | 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a | l,........"cell_type":."code",.. |
1c60 | 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 6d 70 6f 72 | ......"source":.[........."impor |
1c80 | 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 |
1ca0 | 20 6f 74 5c 6e 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 70 61 72 61 6d 65 74 65 72 73 5c 6e 5c 6e 6e | .ot\n\n\n\n\n#%%.parameters\n\nn |
1cc0 | 3d 31 35 30 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 64 20 | =150.#.nb.samples.in.source.and. |
1ce0 | 74 61 72 67 65 74 20 64 61 74 61 73 65 74 73 5c 6e 5c 6e 78 73 2c 79 73 3d 6f 74 2e 64 61 74 61 | target.datasets\n\nxs,ys=ot.data |
1d00 | 73 65 74 73 2e 67 65 74 5f 64 61 74 61 5f 63 6c 61 73 73 69 66 28 27 33 67 61 75 73 73 27 2c 6e | sets.get_data_classif('3gauss',n |
1d20 | 29 5c 6e 78 74 2c 79 74 3d 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 64 61 74 61 5f 63 6c | )\nxt,yt=ot.datasets.get_data_cl |
1d40 | 61 73 73 69 66 28 27 33 67 61 75 73 73 32 27 2c 6e 29 5c 6e 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 | assif('3gauss2',n)\n\n\n\n\n#%%. |
1d60 | 70 6c 6f 74 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 31 29 5c 6e 5c 6e | plot.samples\n\npl.figure(1)\n\n |
1d80 | 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 31 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 | pl.subplot(2,2,1)\npl.scatter(xs |
1da0 | 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 | [:,0],xs[:,1],c=ys,marker='+',la |
1dc0 | 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 | bel='Source.samples')\npl.legend |
1de0 | 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 64 69 73 74 72 | (loc=0)\npl.title('Source..distr |
1e00 | 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 32 2c 32 29 5c | ibutions')\n\npl.subplot(2,2,2)\ |
1e20 | 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 | npl.scatter(xt[:,0],xt[:,1],c=yt |
1e40 | 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 | ,marker='o',label='Target.sample |
1e60 | 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 28 | s')\npl.legend(loc=0)\npl.title( |
1e80 | 27 74 61 72 67 65 74 20 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 5c 6e 5c 6e 23 25 | 'target..distributions')\n\n\n#% |
1ea0 | 25 20 4f 54 20 65 73 74 69 6d 61 74 69 6f 6e 5c 6e 5c 6e 23 20 4c 50 20 70 72 6f 62 6c 65 6d 5c | %.OT.estimation\n\n#.LP.problem\ |
1ec0 | 6e 64 61 5f 65 6d 64 3d 6f 74 2e 64 61 2e 4f 54 44 41 28 29 20 20 20 20 20 23 20 69 6e 69 74 20 | nda_emd=ot.da.OTDA().....#.init. |
1ee0 | 63 6c 61 73 73 5c 6e 64 61 5f 65 6d 64 2e 66 69 74 28 78 73 2c 78 74 29 20 20 20 20 20 20 20 23 | class\nda_emd.fit(xs,xt).......# |
1f00 | 20 66 69 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 78 73 74 30 3d 64 61 5f 65 6d 64 2e | .fit.distributions\nxst0=da_emd. |
1f20 | 69 6e 74 65 72 70 28 29 20 20 20 20 23 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 20 6f 66 20 73 | interp()....#.interpolation.of.s |
1f40 | 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 5c 6e 23 20 73 69 6e 6b 68 6f 72 6e 20 72 65 | ource.samples\n\n\n#.sinkhorn.re |
1f60 | 67 75 6c 61 72 69 7a 61 74 69 6f 6e 5c 6e 6c 61 6d 62 64 3d 31 65 2d 31 5c 6e 64 61 5f 65 6e 74 | gularization\nlambd=1e-1\nda_ent |
1f80 | 72 6f 70 3d 6f 74 2e 64 61 2e 4f 54 44 41 5f 73 69 6e 6b 68 6f 72 6e 28 29 5c 6e 64 61 5f 65 6e | rop=ot.da.OTDA_sinkhorn()\nda_en |
1fa0 | 74 72 6f 70 2e 66 69 74 28 78 73 2c 78 74 2c 72 65 67 3d 6c 61 6d 62 64 29 5c 6e 78 73 74 73 3d | trop.fit(xs,xt,reg=lambd)\nxsts= |
1fc0 | 64 61 5f 65 6e 74 72 6f 70 2e 69 6e 74 65 72 70 28 29 5c 6e 5c 6e 23 20 6e 6f 6e 2d 63 6f 6e 76 | da_entrop.interp()\n\n#.non-conv |
1fe0 | 65 78 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 72 | ex.Group.lasso.regularization\nr |
2000 | 65 67 3d 31 65 2d 31 5c 6e 65 74 61 3d 31 65 30 5c 6e 64 61 5f 6c 70 6c 31 3d 6f 74 2e 64 61 2e | eg=1e-1\neta=1e0\nda_lpl1=ot.da. |
2020 | 4f 54 44 41 5f 6c 70 6c 31 28 29 5c 6e 64 61 5f 6c 70 6c 31 2e 66 69 74 28 78 73 2c 79 73 2c 78 | OTDA_lpl1()\nda_lpl1.fit(xs,ys,x |
2040 | 74 2c 72 65 67 3d 72 65 67 2c 65 74 61 3d 65 74 61 29 5c 6e 78 73 74 67 3d 64 61 5f 6c 70 6c 31 | t,reg=reg,eta=eta)\nxstg=da_lpl1 |
2060 | 2e 69 6e 74 65 72 70 28 29 5c 6e 5c 6e 5c 6e 23 20 54 72 75 65 20 47 72 6f 75 70 20 6c 61 73 73 | .interp()\n\n\n#.True.Group.lass |
2080 | 6f 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 5c 6e 72 65 67 3d 31 65 2d 31 5c 6e 65 74 61 3d | o.regularization\nreg=1e-1\neta= |
20a0 | 32 65 30 5c 6e 64 61 5f 6c 31 6c 32 3d 6f 74 2e 64 61 2e 4f 54 44 41 5f 6c 31 6c 32 28 29 5c 6e | 2e0\nda_l1l2=ot.da.OTDA_l1l2()\n |
20c0 | 64 61 5f 6c 31 6c 32 2e 66 69 74 28 78 73 2c 79 73 2c 78 74 2c 72 65 67 3d 72 65 67 2c 65 74 61 | da_l1l2.fit(xs,ys,xt,reg=reg,eta |
20e0 | 3d 65 74 61 2c 6e 75 6d 49 74 65 72 6d 61 78 3d 32 30 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 29 | =eta,numItermax=20,verbose=True) |
2100 | 5c 6e 78 73 74 67 6c 3d 64 61 5f 6c 31 6c 32 2e 69 6e 74 65 72 70 28 29 5c 6e 5c 6e 5c 6e 23 25 | \nxstgl=da_l1l2.interp()\n\n\n#% |
2120 | 25 20 70 6c 6f 74 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 20 73 6f 75 72 63 65 20 73 61 6d 70 6c | %.plot.interpolated.source.sampl |
2140 | 65 73 5c 6e 70 6c 2e 66 69 67 75 72 65 28 34 2c 28 31 35 2c 38 29 29 5c 6e 5c 6e 70 61 72 61 6d | es\npl.figure(4,(15,8))\n\nparam |
2160 | 5f 69 6d 67 3d 7b 27 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 27 3a 27 6e 65 61 72 65 73 74 27 2c | _img={'interpolation':'nearest', |
2180 | 27 63 6d 61 70 27 3a 27 6a 65 74 27 7d 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 34 2c | 'cmap':'jet'}\n\npl.subplot(2,4, |
21a0 | 31 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 64 61 5f 65 6d 64 2e 47 2c 2a 2a 70 61 72 61 6d 5f 69 | 1)\npl.imshow(da_emd.G,**param_i |
21c0 | 6d 67 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 27 29 5c 6e 5c 6e 5c 6e | mg)\npl.title('OT.matrix')\n\n\n |
21e0 | 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 34 2c 32 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 64 61 5f | pl.subplot(2,4,2)\npl.imshow(da_ |
2200 | 65 6e 74 72 6f 70 2e 47 2c 2a 2a 70 61 72 61 6d 5f 69 6d 67 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 | entrop.G,**param_img)\npl.title( |
2220 | 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 6c 2e 73 75 62 70 | 'OT.matrix.sinkhorn')\n\npl.subp |
2240 | 6c 6f 74 28 32 2c 34 2c 33 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 64 61 5f 6c 70 6c 31 2e 47 2c | lot(2,4,3)\npl.imshow(da_lpl1.G, |
2260 | 2a 2a 70 61 72 61 6d 5f 69 6d 67 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 | **param_img)\npl.title('OT.matri |
2280 | 78 20 6e 6f 6e 2d 63 6f 6e 76 65 78 20 47 72 6f 75 70 20 4c 61 73 73 6f 27 29 5c 6e 5c 6e 70 6c | x.non-convex.Group.Lasso')\n\npl |
22a0 | 2e 73 75 62 70 6c 6f 74 28 32 2c 34 2c 34 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 64 61 5f 6c 31 | .subplot(2,4,4)\npl.imshow(da_l1 |
22c0 | 6c 32 2e 47 2c 2a 2a 70 61 72 61 6d 5f 69 6d 67 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 | l2.G,**param_img)\npl.title('OT. |
22e0 | 6d 61 74 72 69 78 20 47 72 6f 75 70 20 4c 61 73 73 6f 27 29 5c 6e 5c 6e 5c 6e 70 6c 2e 73 75 62 | matrix.Group.Lasso')\n\n\npl.sub |
2300 | 70 6c 6f 74 28 32 2c 34 2c 35 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c | plot(2,4,5)\npl.scatter(xt[:,0], |
2320 | 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 | xt[:,1],c=yt,marker='o',label='T |
2340 | 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 61 6c 70 68 61 3d 30 2e 33 29 5c 6e 70 6c 2e 73 63 | arget.samples',alpha=0.3)\npl.sc |
2360 | 61 74 74 65 72 28 78 73 74 30 5b 3a 2c 30 5d 2c 78 73 74 30 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d | atter(xst0[:,0],xst0[:,1],c=ys,m |
2380 | 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 | arker='+',label='Transp.samples' |
23a0 | 2c 73 3d 33 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6e 74 65 72 70 20 73 61 6d 70 6c 65 73 | ,s=30)\npl.title('Interp.samples |
23c0 | 27 29 5c 6e 70 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 | ')\npl.legend(loc=0)\n\npl.subpl |
23e0 | 6f 74 28 32 2c 34 2c 36 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 | ot(2,4,6)\npl.scatter(xt[:,0],xt |
2400 | 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 | [:,1],c=yt,marker='o',label='Tar |
2420 | 67 65 74 20 73 61 6d 70 6c 65 73 27 2c 61 6c 70 68 61 3d 30 2e 33 29 5c 6e 70 6c 2e 73 63 61 74 | get.samples',alpha=0.3)\npl.scat |
2440 | 74 65 72 28 78 73 74 73 5b 3a 2c 30 5d 2c 78 73 74 73 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 | ter(xsts[:,0],xsts[:,1],c=ys,mar |
2460 | 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 73 | ker='+',label='Transp.samples',s |
2480 | 3d 33 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6e 74 65 72 70 20 73 61 6d 70 6c 65 73 20 53 | =30)\npl.title('Interp.samples.S |
24a0 | 69 6e 6b 68 6f 72 6e 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 34 2c 37 29 5c 6e | inkhorn')\n\npl.subplot(2,4,7)\n |
24c0 | 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c | pl.scatter(xt[:,0],xt[:,1],c=yt, |
24e0 | 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 | marker='o',label='Target.samples |
2500 | 27 2c 61 6c 70 68 61 3d 30 2e 33 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 67 5b 3a 2c | ',alpha=0.3)\npl.scatter(xstg[:, |
2520 | 30 5d 2c 78 73 74 67 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 | 0],xstg[:,1],c=ys,marker='+',lab |
2540 | 65 6c 3d 27 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 73 3d 33 30 29 5c 6e 70 6c 2e 74 69 | el='Transp.samples',s=30)\npl.ti |
2560 | 74 6c 65 28 27 49 6e 74 65 72 70 20 73 61 6d 70 6c 65 73 20 6e 6f 6e 2d 63 6f 6e 76 65 78 20 47 | tle('Interp.samples.non-convex.G |
2580 | 72 6f 75 70 20 4c 61 73 73 6f 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 34 2c 38 | roup.Lasso')\n\npl.subplot(2,4,8 |
25a0 | 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d | )\npl.scatter(xt[:,0],xt[:,1],c= |
25c0 | 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 | yt,marker='o',label='Target.samp |
25e0 | 6c 65 73 27 2c 61 6c 70 68 61 3d 30 2e 33 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 67 | les',alpha=0.3)\npl.scatter(xstg |
2600 | 6c 5b 3a 2c 30 5d 2c 78 73 74 67 6c 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b | l[:,0],xstgl[:,1],c=ys,marker='+ |
2620 | 27 2c 6c 61 62 65 6c 3d 27 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 73 3d 33 30 29 5c 6e | ',label='Transp.samples',s=30)\n |
2640 | 70 6c 2e 74 69 74 6c 65 28 27 49 6e 74 65 72 70 20 73 61 6d 70 6c 65 73 20 47 72 6f 75 70 20 4c | pl.title('Interp.samples.Group.L |
2660 | 61 73 73 6f 27 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 | asso')".......],........"outputs |
2680 | 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 | ":.[],........"metadata":.{..... |
26a0 | 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 | ...."collapsed":.false.......}.. |
26c0 | 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 | ...}...],...."metadata":.{....." |
26e0 | 6b 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 | kernelspec":.{......."display_na |
2700 | 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 | me":."Python.2",........"name":. |
2720 | 22 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 | "python2",........"language":."p |
2740 | 79 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 | ython".....},......"language_inf |
2760 | 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d | o":.{......."mimetype":."text/x- |
2780 | 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 | python",........"nbconvert_expor |
27a0 | 74 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 | ter":."python",........"name":." |
27c0 | 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 | python",........"file_extension" |
27e0 | 3a 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e | :.".py",........"version":."2.7. |
2800 | 31 32 22 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 | 12",........"pygments_lexer":."i |
2820 | 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 | python2",........"codemirror_mod |
2840 | 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 | e":.{........."version":.2,..... |
2860 | 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 | ....."name":."ipython".......}.. |
2880 | 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 d8 7b 82 49 f9 12 57 24 63 07 00 00 | ...}...}.}PK.........{.I..W$c... |
28a0 | 63 07 00 00 1e 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 5f 31 44 | c.......auto_examples/plot_OT_1D |
28c0 | 2e 69 70 79 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a | .ipynb{..."nbformat_minor":.0,.. |
28e0 | 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 | .."nbformat":.4,...."cells":.[.. |
2900 | 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 | ...{......."execution_count":.nu |
2920 | 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 | ll,........"cell_type":."code",. |
2940 | 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 |
2960 | 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 | plotlib.inline".......],........ |
2980 | 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" |
29a0 | 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.. |
29c0 | 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 |
29e0 | 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 23 20 31 44 20 6f 70 74 69 6d 61 6c 20 74 | ce":.[........."\n#.1D.optimal.t |
2a00 | 72 61 6e 73 70 6f 72 74 5c 6e 5c 6e 5c 6e 40 61 75 74 68 6f 72 3a 20 72 66 6c 61 6d 61 72 79 5c | ransport\n\n\n@author:.rflamary\ |
2a20 | 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 22 | n\n".......],........"cell_type" |
2a40 | 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 3a | :."markdown",........"metadata": |
2a60 | 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 69 | .{}.....},......{......."executi |
2a80 | 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 79 | on_count":.null,........"cell_ty |
2aa0 | 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 0a | pe":."code",........"source":.[. |
2ac0 | 20 20 20 20 20 20 20 20 22 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 | ........"import.numpy.as.np\nimp |
2ae0 | 6f 72 74 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f | ort.matplotlib.pylab.as.pl\nimpo |
2b00 | 72 74 20 6f 74 5c 6e 66 72 6f 6d 20 6f 74 2e 64 61 74 61 73 65 74 73 20 69 6d 70 6f 72 74 20 67 | rt.ot\nfrom.ot.datasets.import.g |
2b20 | 65 74 5f 31 44 5f 67 61 75 73 73 20 61 73 20 67 61 75 73 73 5c 6e 5c 6e 5c 6e 23 25 25 20 70 61 | et_1D_gauss.as.gauss\n\n\n#%%.pa |
2b40 | 72 61 6d 65 74 65 72 73 5c 6e 5c 6e 6e 3d 31 30 30 20 23 20 6e 62 20 62 69 6e 73 5c 6e 5c 6e 23 | rameters\n\nn=100.#.nb.bins\n\n# |
2b60 | 20 62 69 6e 20 70 6f 73 69 74 69 6f 6e 73 5c 6e 78 3d 6e 70 2e 61 72 61 6e 67 65 28 6e 2c 64 74 | .bin.positions\nx=np.arange(n,dt |
2b80 | 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 6e 20 64 69 | ype=np.float64)\n\n#.Gaussian.di |
2ba0 | 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 61 3d 67 61 75 73 73 28 6e 2c 6d 3d 32 30 2c 73 3d 35 29 | stributions\na=gauss(n,m=20,s=5) |
2bc0 | 20 23 20 6d 3d 20 6d 65 61 6e 2c 20 73 3d 20 73 74 64 5c 6e 62 3d 67 61 75 73 73 28 6e 2c 6d 3d | .#.m=.mean,.s=.std\nb=gauss(n,m= |
2be0 | 36 30 2c 73 3d 31 30 29 5c 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 4d 3d 6f 74 2e | 60,s=10)\n\n#.loss.matrix\nM=ot. |
2c00 | 64 69 73 74 28 78 2e 72 65 73 68 61 70 65 28 28 6e 2c 31 29 29 2c 78 2e 72 65 73 68 61 70 65 28 | dist(x.reshape((n,1)),x.reshape( |
2c20 | 28 6e 2c 31 29 29 29 5c 6e 4d 2f 3d 4d 2e 6d 61 78 28 29 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 | (n,1)))\nM/=M.max()\n\n#%%.plot. |
2c40 | 74 68 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 31 | the.distributions\n\npl.figure(1 |
2c60 | 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 61 2c 27 62 27 2c 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 | )\npl.plot(x,a,'b',label='Source |
2c80 | 20 64 69 73 74 72 69 62 75 74 69 6f 6e 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 62 2c 27 72 27 | .distribution')\npl.plot(x,b,'r' |
2ca0 | 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 27 29 5c 6e 70 | ,label='Target.distribution')\np |
2cc0 | 6c 2e 6c 65 67 65 6e 64 28 29 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 64 69 73 74 72 69 62 75 74 | l.legend()\n\n#%%.plot.distribut |
2ce0 | 69 6f 6e 73 20 61 6e 64 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 | ions.and.loss.matrix\n\npl.figur |
2d00 | 65 28 32 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 62 2c 4d 2c 27 | e(2)\not.plot.plot1D_mat(a,b,M,' |
2d20 | 43 6f 73 74 20 6d 61 74 72 69 78 20 4d 27 29 5c 6e 5c 6e 23 25 25 20 45 4d 44 5c 6e 5c 6e 47 30 | Cost.matrix.M')\n\n#%%.EMD\n\nG0 |
2d40 | 3d 6f 74 2e 65 6d 64 28 61 2c 62 2c 4d 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 33 29 5c 6e | =ot.emd(a,b,M)\n\npl.figure(3)\n |
2d60 | 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 62 2c 47 30 2c 27 4f 54 20 6d 61 | ot.plot.plot1D_mat(a,b,G0,'OT.ma |
2d80 | 74 72 69 78 20 47 30 27 29 5c 6e 5c 6e 23 25 25 20 53 69 6e 6b 68 6f 72 6e 5c 6e 5c 6e 6c 61 6d | trix.G0')\n\n#%%.Sinkhorn\n\nlam |
2da0 | 62 64 3d 31 65 2d 33 5c 6e 47 73 3d 6f 74 2e 73 69 6e 6b 68 6f 72 6e 28 61 2c 62 2c 4d 2c 6c 61 | bd=1e-3\nGs=ot.sinkhorn(a,b,M,la |
2dc0 | 6d 62 64 29 5c 6e 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 | mbd)\n\npl.figure(4)\not.plot.pl |
2de0 | 6f 74 31 44 5f 6d 61 74 28 61 2c 62 2c 47 73 2c 27 4f 54 20 6d 61 74 72 69 78 20 53 69 6e 6b 68 | ot1D_mat(a,b,Gs,'OT.matrix.Sinkh |
2e00 | 6f 72 6e 27 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 | orn')".......],........"outputs" |
2e20 | 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 | :.[],........"metadata":.{...... |
2e40 | 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 | ..."collapsed":.false.......}... |
2e60 | 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b | ..}...],...."metadata":.{....."k |
2e80 | 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d | ernelspec":.{......."display_nam |
2ea0 | 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 | e":."Python.2",........"name":." |
2ec0 | 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 | python2",........"language":."py |
2ee0 | 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f | thon".....},......"language_info |
2f00 | 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 | ":.{......."mimetype":."text/x-p |
2f20 | 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 | ython",........"nbconvert_export |
2f40 | 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 | er":."python",........"name":."p |
2f60 | 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a | ython",........"file_extension": |
2f80 | 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 | .".py",........"version":."2.7.1 |
2fa0 | 32 22 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 | 2",........"pygments_lexer":."ip |
2fc0 | 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 | ython2",........"codemirror_mode |
2fe0 | 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 | ":.{........."version":.2,...... |
3000 | 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 | ...."name":."ipython".......}... |
3020 | 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 ac 7a 82 49 51 3c 40 3f 86 0e 00 00 86 | ..}...}.}PK.........z.IQ<@?..... |
3040 | 0e 00 00 26 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 62 61 72 79 63 65 | ...&...auto_examples/plot_baryce |
3060 | 6e 74 65 72 5f 31 44 2e 69 70 79 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 | nter_1D.ipynb{..."nbformat_minor |
3080 | 22 3a 20 30 2c 20 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c | ":.0,...."nbformat":.4,...."cell |
30a0 | 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 | s":.[.....{......."execution_cou |
30c0 | 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 | nt":.null,........"cell_type":." |
30e0 | 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 | code",........"source":.[....... |
3100 | 20 20 22 25 6d 61 74 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 | .."%matplotlib.inline".......],. |
3120 | 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 | ......."outputs":.[],........"me |
3140 | 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":. |
3160 | 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 | false.......}.....},......{..... |
3180 | 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 31 44 20 57 61 | .."source":.[........."\n#.1D.Wa |
31a0 | 73 73 65 72 73 74 65 69 6e 20 62 61 72 79 63 65 6e 74 65 72 20 64 65 6d 6f 5c 6e 5c 6e 5c 6e 5c | sserstein.barycenter.demo\n\n\n\ |
31c0 | 6e 40 61 75 74 68 6f 72 3a 20 72 66 6c 61 6d 61 72 79 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c | n@author:.rflamary\n\n".......], |
31e0 | 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c | ........"cell_type":."markdown", |
3200 | 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 | ........"metadata":.{}.....},... |
3220 | 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 | ...{......."execution_count":.nu |
3240 | 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 | ll,........"cell_type":."code",. |
3260 | 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 6d 70 6f | ......."source":.[........."impo |
3280 | 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 |
32a0 | 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 6d | b.pylab.as.pl\nimport.ot\nfrom.m |
32c0 | 70 6c 5f 74 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 | pl_toolkits.mplot3d.import.Axes3 |
32e0 | 44 20 23 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 6e 20 69 66 | D.#necessary.for.3d.plot.even.if |
3300 | 20 6e 6f 74 20 75 73 65 64 5c 6e 66 72 6f 6d 20 6d 61 74 70 6c 6f 74 6c 69 62 2e 63 6f 6c 6c 65 | .not.used\nfrom.matplotlib.colle |
3320 | 63 74 69 6f 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 | ctions.import.PolyCollection\n\n |
3340 | 5c 6e 23 25 25 20 70 61 72 61 6d 65 74 65 72 73 5c 6e 5c 6e 6e 3d 31 30 30 20 23 20 6e 62 20 62 | \n#%%.parameters\n\nn=100.#.nb.b |
3360 | 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 3d 6e 70 2e 61 72 61 | ins\n\n#.bin.positions\nx=np.ara |
3380 | 6e 67 65 28 6e 2c 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 | nge(n,dtype=np.float64)\n\n#.Gau |
33a0 | 73 73 69 61 6e 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 61 31 3d 6f 74 2e 64 61 74 61 73 | ssian.distributions\na1=ot.datas |
33c0 | 65 74 73 2e 67 65 74 5f 31 44 5f 67 61 75 73 73 28 6e 2c 6d 3d 32 30 2c 73 3d 35 29 20 23 20 6d | ets.get_1D_gauss(n,m=20,s=5).#.m |
33e0 | 3d 20 6d 65 61 6e 2c 20 73 3d 20 73 74 64 5c 6e 61 32 3d 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 | =.mean,.s=.std\na2=ot.datasets.g |
3400 | 65 74 5f 31 44 5f 67 61 75 73 73 28 6e 2c 6d 3d 36 30 2c 73 3d 38 29 5c 6e 5c 6e 23 20 63 72 65 | et_1D_gauss(n,m=60,s=8)\n\n#.cre |
3420 | 61 74 69 6e 67 20 6d 61 74 72 69 78 20 41 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6c 6c 20 64 69 | ating.matrix.A.containing.all.di |
3440 | 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 41 3d 6e 70 2e 76 73 74 61 63 6b 28 28 61 31 2c 61 32 29 | stributions\nA=np.vstack((a1,a2) |
3460 | 29 2e 54 5c 6e 6e 62 64 3d 41 2e 73 68 61 70 65 5b 31 5d 5c 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 | ).T\nnbd=A.shape[1]\n\n#.loss.ma |
3480 | 74 72 69 78 20 2b 20 6e 6f 72 6d 61 6c 69 7a 61 74 69 6f 6e 5c 6e 4d 3d 6f 74 2e 75 74 69 6c 73 | trix.+.normalization\nM=ot.utils |
34a0 | 2e 64 69 73 74 30 28 6e 29 5c 6e 4d 2f 3d 4d 2e 6d 61 78 28 29 5c 6e 5c 6e 23 25 25 20 70 6c 6f | .dist0(n)\nM/=M.max()\n\n#%%.plo |
34c0 | 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 65 | t.the.distributions\n\npl.figure |
34e0 | 28 31 29 5c 6e 66 6f 72 20 69 20 69 6e 20 72 61 6e 67 65 28 6e 62 64 29 3a 5c 6e 20 20 20 20 70 | (1)\nfor.i.in.range(nbd):\n....p |
3500 | 6c 2e 70 6c 6f 74 28 78 2c 41 5b 3a 2c 69 5d 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 44 69 73 74 | l.plot(x,A[:,i])\npl.title('Dist |
3520 | 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 5c 6e 23 25 25 20 62 61 72 79 63 65 6e 74 65 72 20 63 6f | ributions')\n\n#%%.barycenter.co |
3540 | 6d 70 75 74 61 74 69 6f 6e 5c 6e 5c 6e 61 6c 70 68 61 3d 30 2e 32 20 23 20 30 3c 3d 61 6c 70 68 | mputation\n\nalpha=0.2.#.0<=alph |
3560 | 61 3c 3d 31 5c 6e 77 65 69 67 68 74 73 3d 6e 70 2e 61 72 72 61 79 28 5b 31 2d 61 6c 70 68 61 2c | a<=1\nweights=np.array([1-alpha, |
3580 | 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 3d 41 2e 64 | alpha])\n\n#.l2bary\nbary_l2=A.d |
35a0 | 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 |
35c0 | 67 3d 31 65 2d 33 5c 6e 62 61 72 79 5f 77 61 73 73 3d 6f 74 2e 62 72 65 67 6d 61 6e 2e 62 61 72 | g=1e-3\nbary_wass=ot.bregman.bar |
35e0 | 79 63 65 6e 74 65 72 28 41 2c 4d 2c 72 65 67 2c 77 65 69 67 68 74 73 29 5c 6e 5c 6e 70 6c 2e 66 | ycenter(A,M,reg,weights)\n\npl.f |
3600 | 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 74 28 32 | igure(2)\npl.clf()\npl.subplot(2 |
3620 | 2c 31 2c 31 29 5c 6e 66 6f 72 20 69 20 69 6e 20 72 61 6e 67 65 28 6e 62 64 29 3a 5c 6e 20 20 20 | ,1,1)\nfor.i.in.range(nbd):\n... |
3640 | 20 70 6c 2e 70 6c 6f 74 28 78 2c 41 5b 3a 2c 69 5d 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 44 69 | .pl.plot(x,A[:,i])\npl.title('Di |
3660 | 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 31 2c | stributions')\n\npl.subplot(2,1, |
3680 | 32 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 62 61 72 79 5f 6c 32 2c 27 72 27 2c 6c 61 62 65 6c 3d | 2)\npl.plot(x,bary_l2,'r',label= |
36a0 | 27 6c 32 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 62 61 72 79 5f 77 61 73 73 2c 27 67 27 2c 6c | 'l2')\npl.plot(x,bary_wass,'g',l |
36c0 | 61 62 65 6c 3d 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 | abel='Wasserstein')\npl.legend() |
36e0 | 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 5c 6e 5c 6e 23 | \npl.title('Barycenters')\n\n\n# |
3700 | 25 25 20 62 61 72 79 63 65 6e 74 65 72 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 5c 6e 5c 6e 6e | %%.barycenter.interpolation\n\nn |
3720 | 62 61 6c 70 68 61 3d 31 31 5c 6e 61 6c 70 68 61 6c 69 73 74 3d 6e 70 2e 6c 69 6e 73 70 61 63 65 | balpha=11\nalphalist=np.linspace |
3740 | 28 30 2c 31 2c 6e 62 61 6c 70 68 61 29 5c 6e 5c 6e 5c 6e 42 5f 6c 32 3d 6e 70 2e 7a 65 72 6f 73 | (0,1,nbalpha)\n\n\nB_l2=np.zeros |
3760 | 28 28 6e 2c 6e 62 61 6c 70 68 61 29 29 5c 6e 5c 6e 42 5f 77 61 73 73 3d 6e 70 2e 63 6f 70 79 28 | ((n,nbalpha))\n\nB_wass=np.copy( |
3780 | 42 5f 6c 32 29 5c 6e 5c 6e 66 6f 72 20 69 20 69 6e 20 72 61 6e 67 65 28 30 2c 6e 62 61 6c 70 68 | B_l2)\n\nfor.i.in.range(0,nbalph |
37a0 | 61 29 3a 5c 6e 20 20 20 20 61 6c 70 68 61 3d 61 6c 70 68 61 6c 69 73 74 5b 69 5d 5c 6e 20 20 20 | a):\n....alpha=alphalist[i]\n... |
37c0 | 20 77 65 69 67 68 74 73 3d 6e 70 2e 61 72 72 61 79 28 5b 31 2d 61 6c 70 68 61 2c 61 6c 70 68 61 | .weights=np.array([1-alpha,alpha |
37e0 | 5d 29 5c 6e 20 20 20 20 42 5f 6c 32 5b 3a 2c 69 5d 3d 41 2e 64 6f 74 28 77 65 69 67 68 74 73 29 | ])\n....B_l2[:,i]=A.dot(weights) |
3800 | 5c 6e 20 20 20 20 42 5f 77 61 73 73 5b 3a 2c 69 5d 3d 6f 74 2e 62 72 65 67 6d 61 6e 2e 62 61 72 | \n....B_wass[:,i]=ot.bregman.bar |
3820 | 79 63 65 6e 74 65 72 28 41 2c 4d 2c 72 65 67 2c 77 65 69 67 68 74 73 29 5c 6e 5c 6e 23 25 25 20 | ycenter(A,M,reg,weights)\n\n#%%. |
3840 | 70 6c 6f 74 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 | plot.interpolation\n\npl.figure( |
3860 | 33 2c 28 31 30 2c 35 29 29 5c 6e 5c 6e 23 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 32 2c 31 29 5c | 3,(10,5))\n\n#pl.subplot(1,2,1)\ |
3880 | 6e 63 6d 61 70 3d 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 | ncmap=pl.cm.get_cmap('viridis')\ |
38a0 | 6e 76 65 72 74 73 20 3d 20 5b 5d 5c 6e 7a 73 20 3d 20 61 6c 70 68 61 6c 69 73 74 5c 6e 66 6f 72 | nverts.=.[]\nzs.=.alphalist\nfor |
38c0 | 20 69 2c 7a 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 | .i,z.in.enumerate(zs):\n....ys.= |
38e0 | 20 42 5f 6c 32 5b 3a 2c 69 5d 5c 6e 20 20 20 20 76 65 72 74 73 2e 61 70 70 65 6e 64 28 6c 69 73 | .B_l2[:,i]\n....verts.append(lis |
3900 | 74 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 | t(zip(x,.ys)))\n\nax.=.pl.gcf(). |
3920 | 67 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 | gca(projection='3d')\n\npoly.=.P |
3940 | 6f 6c 79 43 6f 6c 6c 65 63 74 69 6f 6e 28 76 65 72 74 73 2c 66 61 63 65 63 6f 6c 6f 72 73 3d 5b | olyCollection(verts,facecolors=[ |
3960 | 63 6d 61 70 28 61 29 20 66 6f 72 20 61 20 69 6e 20 61 6c 70 68 61 6c 69 73 74 5d 29 5c 6e 70 6f | cmap(a).for.a.in.alphalist])\npo |
3980 | 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 63 | ly.set_alpha(0.7)\nax.add_collec |
39a0 | 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 5c | tion3d(poly,.zs=zs,.zdir='y')\n\ |
39c0 | 6e 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 | nax.set_xlabel('x')\nax.set_xlim |
39e0 | 33 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 | 3d(0,.n)\nax.set_ylabel('$\\\\al |
3a00 | 70 68 61 24 27 29 5c 6e 61 78 2e 73 65 74 5f 79 6c 69 6d 33 64 28 30 2c 31 29 5c 6e 61 78 2e 73 | pha$')\nax.set_ylim3d(0,1)\nax.s |
3a20 | 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,. |
3a40 | 42 5f 6c 32 2e 6d 61 78 28 29 2a 31 2e 30 31 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 42 61 72 79 | B_l2.max()*1.01)\npl.title('Bary |
3a60 | 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 6c 32 27 29 5c 6e | center.interpolation.with.l2')\n |
3a80 | 5c 6e 70 6c 2e 73 68 6f 77 28 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 34 2c 28 31 30 2c 35 | \npl.show()\n\npl.figure(4,(10,5 |
3aa0 | 29 29 5c 6e 5c 6e 23 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 32 2c 31 29 5c 6e 63 6d 61 70 3d 70 | ))\n\n#pl.subplot(1,2,1)\ncmap=p |
3ac0 | 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 20 | l.cm.get_cmap('viridis')\nverts. |
3ae0 | 3d 20 5b 5d 5c 6e 7a 73 20 3d 20 61 6c 70 68 61 6c 69 73 74 5c 6e 66 6f 72 20 69 2c 7a 20 69 6e | =.[]\nzs.=.alphalist\nfor.i,z.in |
3b00 | 20 65 6e 75 6d 65 72 61 74 65 28 7a 73 29 3a 5c 6e 20 20 20 20 79 73 20 3d 20 42 5f 77 61 73 73 | .enumerate(zs):\n....ys.=.B_wass |
3b20 | 5b 3a 2c 69 5d 5c 6e 20 20 20 20 76 65 72 74 73 2e 61 70 70 65 6e 64 28 6c 69 73 74 28 7a 69 70 | [:,i]\n....verts.append(list(zip |
3b40 | 28 78 2c 20 79 73 29 29 29 5c 6e 5c 6e 61 78 20 3d 20 70 6c 2e 67 63 66 28 29 2e 67 63 61 28 70 | (x,.ys)))\n\nax.=.pl.gcf().gca(p |
3b60 | 72 6f 6a 65 63 74 69 6f 6e 3d 27 33 64 27 29 5c 6e 5c 6e 70 6f 6c 79 20 3d 20 50 6f 6c 79 43 6f | rojection='3d')\n\npoly.=.PolyCo |
3b80 | 6c 6c 65 63 74 69 6f 6e 28 76 65 72 74 73 2c 66 61 63 65 63 6f 6c 6f 72 73 3d 5b 63 6d 61 70 28 | llection(verts,facecolors=[cmap( |
3ba0 | 61 29 20 66 6f 72 20 61 20 69 6e 20 61 6c 70 68 61 6c 69 73 74 5d 29 5c 6e 70 6f 6c 79 2e 73 65 | a).for.a.in.alphalist])\npoly.se |
3bc0 | 74 5f 61 6c 70 68 61 28 30 2e 37 29 5c 6e 61 78 2e 61 64 64 5f 63 6f 6c 6c 65 63 74 69 6f 6e 33 | t_alpha(0.7)\nax.add_collection3 |
3be0 | 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 5c 6e 61 78 2e 73 | d(poly,.zs=zs,.zdir='y')\n\nax.s |
3c00 | 65 74 5f 78 6c 61 62 65 6c 28 27 78 27 29 5c 6e 61 78 2e 73 65 74 5f 78 6c 69 6d 33 64 28 30 2c | et_xlabel('x')\nax.set_xlim3d(0, |
3c20 | 20 6e 29 5c 6e 61 78 2e 73 65 74 5f 79 6c 61 62 65 6c 28 27 24 5c 5c 5c 5c 61 6c 70 68 61 24 27 | .n)\nax.set_ylabel('$\\\\alpha$' |
3c40 | 29 5c 6e 61 78 2e 73 65 74 5f 79 6c 69 6d 33 64 28 30 2c 31 29 5c 6e 61 78 2e 73 65 74 5f 7a 6c | )\nax.set_ylim3d(0,1)\nax.set_zl |
3c60 | 61 62 65 6c 28 27 27 29 5c 6e 61 78 2e 73 65 74 5f 7a 6c 69 6d 33 64 28 30 2c 20 42 5f 6c 32 2e | abel('')\nax.set_zlim3d(0,.B_l2. |
3c80 | 6d 61 78 28 29 2a 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 | max()*1.01)\npl.title('Barycente |
3ca0 | 72 20 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 20 77 69 74 68 20 57 61 73 73 65 72 73 74 65 69 6e | r.interpolation.with.Wasserstein |
3cc0 | 27 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 | ')\n\npl.show()".......],....... |
3ce0 | 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 |
3d00 | 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. |
3d20 | 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" |
3d40 | 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 |
3d60 | 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",....... |
3d80 | 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 |
3da0 | 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 |
3dc0 | 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": |
3de0 | 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 |
3e00 | 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",........ |
3e20 | 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 |
3e40 | 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 |
3e60 | 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 |
3e80 | 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 |
3ea0 | 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" |
3ec0 | 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". |
3ee0 | 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 6a 7b 82 | ......}.....}...}.}PK........j{. |
3f00 | 49 bb fd 13 71 39 0a 00 00 39 0a 00 00 2b 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 64 | I...q9...9...+...auto_examples/d |
3f20 | 65 6d 6f 5f 4f 54 5f 32 44 5f 73 61 6d 70 6c 65 73 6c 61 72 67 65 2e 69 70 79 6e 62 7b 0a 20 20 | emo_OT_2D_sampleslarge.ipynb{... |
3f40 | 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 |
3f60 | 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":.[.....{...... |
3f80 | 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,....... |
3fa0 | 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 |
3fc0 | 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 |
3fe0 | 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": |
4000 | 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":.{....... |
4020 | 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.......}.... |
4040 | 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":.[.... |
4060 | 20 20 20 20 20 22 5c 6e 44 65 6d 6f 20 66 6f 72 20 32 44 20 4f 70 74 69 6d 61 6c 20 74 72 61 6e | ....."\nDemo.for.2D.Optimal.tran |
4080 | 73 70 6f 72 74 20 62 65 74 77 65 65 6e 20 65 6d 70 69 72 69 63 61 6c 20 64 69 73 74 72 69 62 75 | sport.between.empirical.distribu |
40a0 | 74 69 6f 6e 73 5c 6e 5c 6e 40 61 75 74 68 6f 72 3a 20 72 66 6c 61 6d 61 72 79 5c 6e 5c 6e 22 0a | tions\n\n@author:.rflamary\n\n". |
40c0 | 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 |
40e0 | 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":.{}.. |
4100 | 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 |
4120 | 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":. |
4140 | 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":.[...... |
4160 | 20 20 20 22 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 6d | ..."import.numpy.as.np\nimport.m |
4180 | 61 74 70 6c 6f 74 6c 69 62 2e 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 | atplotlib.pylab.as.pl\nimport.ot |
41a0 | 5c 6e 5c 6e 23 25 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 | \n\n#%%.parameters.and.data.gene |
41c0 | 72 61 74 69 6f 6e 5c 6e 5c 6e 6e 3d 35 30 30 30 20 23 20 6e 62 20 73 61 6d 70 6c 65 73 5c 6e 5c | ration\n\nn=5000.#.nb.samples\n\ |
41e0 | 6e 6d 75 5f 73 3d 6e 70 2e 61 72 72 61 79 28 5b 30 2c 30 5d 29 5c 6e 63 6f 76 5f 73 3d 6e 70 2e | nmu_s=np.array([0,0])\ncov_s=np. |
4200 | 61 72 72 61 79 28 5b 5b 31 2c 30 5d 2c 5b 30 2c 31 5d 5d 29 5c 6e 5c 6e 6d 75 5f 74 3d 6e 70 2e | array([[1,0],[0,1]])\n\nmu_t=np. |
4220 | 61 72 72 61 79 28 5b 34 2c 34 5d 29 5c 6e 63 6f 76 5f 74 3d 6e 70 2e 61 72 72 61 79 28 5b 5b 31 | array([4,4])\ncov_t=np.array([[1 |
4240 | 2c 2d 2e 38 5d 2c 5b 2d 2e 38 2c 31 5d 5d 29 5c 6e 5c 6e 78 73 3d 6f 74 2e 64 61 74 61 73 65 74 | ,-.8],[-.8,1]])\n\nxs=ot.dataset |
4260 | 73 2e 67 65 74 5f 32 44 5f 73 61 6d 70 6c 65 73 5f 67 61 75 73 73 28 6e 2c 6d 75 5f 73 2c 63 6f | s.get_2D_samples_gauss(n,mu_s,co |
4280 | 76 5f 73 29 5c 6e 78 74 3d 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 32 44 5f 73 61 6d 70 | v_s)\nxt=ot.datasets.get_2D_samp |
42a0 | 6c 65 73 5f 67 61 75 73 73 28 6e 2c 6d 75 5f 74 2c 63 6f 76 5f 74 29 5c 6e 5c 6e 61 2c 62 20 3d | les_gauss(n,mu_t,cov_t)\n\na,b.= |
42c0 | 20 6f 74 2e 75 6e 69 66 28 6e 29 2c 6f 74 2e 75 6e 69 66 28 6e 29 20 23 20 75 6e 69 66 6f 72 6d | .ot.unif(n),ot.unif(n).#.uniform |
42e0 | 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f 6e 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 23 20 6c 6f | .distribution.on.samples\n\n#.lo |
4300 | 73 73 20 6d 61 74 72 69 78 5c 6e 4d 3d 6f 74 2e 64 69 73 74 28 78 73 2c 78 74 29 5c 6e 4d 2f 3d | ss.matrix\nM=ot.dist(xs,xt)\nM/= |
4320 | 4d 2e 6d 61 78 28 29 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 23 | M.max()\n\n#%%.plot.samples\n\n# |
4340 | 70 6c 2e 66 69 67 75 72 65 28 31 29 5c 6e 23 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a 2c 30 5d 2c 78 | pl.figure(1)\n#pl.plot(xs[:,0],x |
4360 | 73 5b 3a 2c 31 5d 2c 27 2b 62 27 2c 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 | s[:,1],'+b',label='Source.sample |
4380 | 73 27 29 5c 6e 23 70 6c 2e 70 6c 6f 74 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 27 78 | s')\n#pl.plot(xt[:,0],xt[:,1],'x |
43a0 | 72 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 23 70 6c 2e | r',label='Target.samples')\n#pl. |
43c0 | 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 23 70 6c 2e 74 69 74 6c 65 28 27 53 6f 75 72 63 65 | legend(loc=0)\n#pl.title('Source |
43e0 | 20 61 6e 64 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 23 5c 6e | .and.traget.distributions')\n#\n |
4400 | 23 70 6c 2e 66 69 67 75 72 65 28 32 29 5c 6e 23 70 6c 2e 69 6d 73 68 6f 77 28 4d 2c 69 6e 74 65 | #pl.figure(2)\n#pl.imshow(M,inte |
4420 | 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 23 70 6c 2e 74 69 74 6c 65 28 | rpolation='nearest')\n#pl.title( |
4440 | 27 43 6f 73 74 20 6d 61 74 72 69 78 20 4d 27 29 5c 6e 23 5c 6e 5c 6e 23 25 25 20 45 4d 44 5c 6e | 'Cost.matrix.M')\n#\n\n#%%.EMD\n |
4460 | 5c 6e 47 30 3d 6f 74 2e 65 6d 64 28 61 2c 62 2c 4d 29 5c 6e 5c 6e 23 70 6c 2e 66 69 67 75 72 65 | \nG0=ot.emd(a,b,M)\n\n#pl.figure |
4480 | 28 33 29 5c 6e 23 70 6c 2e 69 6d 73 68 6f 77 28 47 30 2c 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e | (3)\n#pl.imshow(G0,interpolation |
44a0 | 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 23 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 | ='nearest')\n#pl.title('OT.matri |
44c0 | 78 20 47 30 27 29 5c 6e 23 5c 6e 23 70 6c 2e 66 69 67 75 72 65 28 34 29 5c 6e 23 6f 74 2e 70 6c | x.G0')\n#\n#pl.figure(4)\n#ot.pl |
44e0 | 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 6c 65 73 5f 6d 61 74 28 78 73 2c 78 74 2c 47 30 2c 63 | ot.plot2D_samples_mat(xs,xt,G0,c |
4500 | 3d 5b 2e 35 2c 2e 35 2c 31 5d 29 5c 6e 23 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a 2c 30 5d 2c 78 73 | =[.5,.5,1])\n#pl.plot(xs[:,0],xs |
4520 | 5b 3a 2c 31 5d 2c 27 2b 62 27 2c 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 | [:,1],'+b',label='Source.samples |
4540 | 27 29 5c 6e 23 70 6c 2e 70 6c 6f 74 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 27 78 72 | ')\n#pl.plot(xt[:,0],xt[:,1],'xr |
4560 | 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 23 70 6c 2e 6c | ',label='Target.samples')\n#pl.l |
4580 | 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 23 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 | egend(loc=0)\n#pl.title('OT.matr |
45a0 | 69 78 20 77 69 74 68 20 73 61 6d 70 6c 65 73 27 29 5c 6e 5c 6e 5c 6e 23 25 25 20 73 69 6e 6b 68 | ix.with.samples')\n\n\n#%%.sinkh |
45c0 | 6f 72 6e 5c 6e 5c 6e 23 20 72 65 67 20 74 65 72 6d 5c 6e 6c 61 6d 62 64 3d 35 65 2d 33 5c 6e 5c | orn\n\n#.reg.term\nlambd=5e-3\n\ |
45e0 | 6e 47 73 3d 6f 74 2e 73 69 6e 6b 68 6f 72 6e 28 61 2c 62 2c 4d 2c 6c 61 6d 62 64 29 5c 6e 5c 6e | nGs=ot.sinkhorn(a,b,M,lambd)\n\n |
4600 | 23 70 6c 2e 66 69 67 75 72 65 28 35 29 5c 6e 23 70 6c 2e 69 6d 73 68 6f 77 28 47 73 2c 69 6e 74 | #pl.figure(5)\n#pl.imshow(Gs,int |
4620 | 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 23 70 6c 2e 74 69 74 6c 65 | erpolation='nearest')\n#pl.title |
4640 | 28 27 4f 54 20 6d 61 74 72 69 78 20 73 69 6e 6b 68 6f 72 6e 27 29 5c 6e 23 5c 6e 23 70 6c 2e 66 | ('OT.matrix.sinkhorn')\n#\n#pl.f |
4660 | 69 67 75 72 65 28 36 29 5c 6e 23 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 6c 65 | igure(6)\n#ot.plot.plot2D_sample |
4680 | 73 5f 6d 61 74 28 78 73 2c 78 74 2c 47 73 2c 63 6f 6c 6f 72 3d 5b 2e 35 2c 2e 35 2c 31 5d 29 5c | s_mat(xs,xt,Gs,color=[.5,.5,1])\ |
46a0 | 6e 23 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 27 2b 62 27 2c 6c | n#pl.plot(xs[:,0],xs[:,1],'+b',l |
46c0 | 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 23 70 6c 2e 70 6c 6f 74 | abel='Source.samples')\n#pl.plot |
46e0 | 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 27 78 72 27 2c 6c 61 62 65 6c 3d 27 54 61 72 | (xt[:,0],xt[:,1],'xr',label='Tar |
4700 | 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 23 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 | get.samples')\n#pl.legend(loc=0) |
4720 | 5c 6e 23 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 20 53 69 6e 6b 68 6f 72 6e 20 | \n#pl.title('OT.matrix.Sinkhorn. |
4740 | 77 69 74 68 20 73 61 6d 70 6c 65 73 27 29 5c 6e 23 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 | with.samples')\n#".......],..... |
4760 | 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 |
4780 | 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 |
47a0 | 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 | e.......}.....}...],...."metadat |
47c0 | 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 | a":.{....."kernelspec":.{....... |
47e0 | 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 | "display_name":."Python.2",..... |
4800 | 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 | ..."name":."python2",........"la |
4820 | 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c | nguage":."python".....},......"l |
4840 | 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 | anguage_info":.{......."mimetype |
4860 | 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f | ":."text/x-python",........"nbco |
4880 | 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 | nvert_exporter":."python",...... |
48a0 | 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 | .."name":."python",........"file |
48c0 | 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 | _extension":.".py",........"vers |
48e0 | 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 | ion":."2.7.12",........"pygments |
4900 | 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 | _lexer":."ipython2",........"cod |
4920 | 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f | emirror_mode":.{........."versio |
4940 | 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e | n":.2,.........."name":."ipython |
4960 | 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 d9 | ".......}.....}...}.}PK......... |
4980 | 7b 82 49 12 a9 b6 58 11 0a 00 00 11 0a 00 00 26 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 | {.I...X........&...auto_examples |
49a0 | 2f 70 6c 6f 74 5f 4f 54 5f 32 44 5f 73 61 6d 70 6c 65 73 2e 69 70 79 6e 62 7b 0a 20 20 22 6e 62 | /plot_OT_2D_samples.ipynb{..."nb |
49c0 | 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a | format_minor":.0,...."nbformat": |
49e0 | 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 | .4,...."cells":.[.....{......."e |
4a00 | 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 | xecution_count":.null,........"c |
4a20 | 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 | ell_type":."code",........"sourc |
4a40 | 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d 61 74 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e | e":.[........."%matplotlib.inlin |
4a60 | 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 5b 5d | e".......],........"outputs":.[] |
4a80 | 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 | ,........"metadata":.{........." |
4aa0 | 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c | collapsed":.false.......}.....}, |
4ac0 | 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 | ......{......."source":.[....... |
4ae0 | 20 20 22 5c 6e 23 20 32 44 20 4f 70 74 69 6d 61 6c 20 74 72 61 6e 73 70 6f 72 74 20 62 65 74 77 | .."\n#.2D.Optimal.transport.betw |
4b00 | 65 65 6e 20 65 6d 70 69 72 69 63 61 6c 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e 5c | een.empirical.distributions\n\n\ |
4b20 | 6e 40 61 75 74 68 6f 72 3a 20 72 66 6c 61 6d 61 72 79 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c | n@author:.rflamary\n\n".......], |
4b40 | 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c | ........"cell_type":."markdown", |
4b60 | 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 | ........"metadata":.{}.....},... |
4b80 | 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 | ...{......."execution_count":.nu |
4ba0 | 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 | ll,........"cell_type":."code",. |
4bc0 | 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 6d 70 6f | ......."source":.[........."impo |
4be0 | 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 |
4c00 | 62 2e 70 79 6c 61 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 5c 6e 23 25 25 20 | b.pylab.as.pl\nimport.ot\n\n#%%. |
4c20 | 70 61 72 61 6d 65 74 65 72 73 20 61 6e 64 20 64 61 74 61 20 67 65 6e 65 72 61 74 69 6f 6e 5c 6e | parameters.and.data.generation\n |
4c40 | 5c 6e 6e 3d 32 30 20 23 20 6e 62 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 6d 75 5f 73 3d 6e 70 2e 61 | \nn=20.#.nb.samples\n\nmu_s=np.a |
4c60 | 72 72 61 79 28 5b 30 2c 30 5d 29 5c 6e 63 6f 76 5f 73 3d 6e 70 2e 61 72 72 61 79 28 5b 5b 31 2c | rray([0,0])\ncov_s=np.array([[1, |
4c80 | 30 5d 2c 5b 30 2c 31 5d 5d 29 5c 6e 5c 6e 6d 75 5f 74 3d 6e 70 2e 61 72 72 61 79 28 5b 34 2c 34 | 0],[0,1]])\n\nmu_t=np.array([4,4 |
4ca0 | 5d 29 5c 6e 63 6f 76 5f 74 3d 6e 70 2e 61 72 72 61 79 28 5b 5b 31 2c 2d 2e 38 5d 2c 5b 2d 2e 38 | ])\ncov_t=np.array([[1,-.8],[-.8 |
4cc0 | 2c 31 5d 5d 29 5c 6e 5c 6e 78 73 3d 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 32 44 5f 73 | ,1]])\n\nxs=ot.datasets.get_2D_s |
4ce0 | 61 6d 70 6c 65 73 5f 67 61 75 73 73 28 6e 2c 6d 75 5f 73 2c 63 6f 76 5f 73 29 5c 6e 78 74 3d 6f | amples_gauss(n,mu_s,cov_s)\nxt=o |
4d00 | 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 32 44 5f 73 61 6d 70 6c 65 73 5f 67 61 75 73 73 28 | t.datasets.get_2D_samples_gauss( |
4d20 | 6e 2c 6d 75 5f 74 2c 63 6f 76 5f 74 29 5c 6e 5c 6e 61 2c 62 20 3d 20 6f 74 2e 75 6e 69 66 28 6e | n,mu_t,cov_t)\n\na,b.=.ot.unif(n |
4d40 | 29 2c 6f 74 2e 75 6e 69 66 28 6e 29 20 23 20 75 6e 69 66 6f 72 6d 20 64 69 73 74 72 69 62 75 74 | ),ot.unif(n).#.uniform.distribut |
4d60 | 69 6f 6e 20 6f 6e 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c | ion.on.samples\n\n#.loss.matrix\ |
4d80 | 6e 4d 3d 6f 74 2e 64 69 73 74 28 78 73 2c 78 74 29 5c 6e 4d 2f 3d 4d 2e 6d 61 78 28 29 5c 6e 5c | nM=ot.dist(xs,xt)\nM/=M.max()\n\ |
4da0 | 6e 23 25 25 20 70 6c 6f 74 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 31 | n#%%.plot.samples\n\npl.figure(1 |
4dc0 | 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 27 2b 62 27 2c | )\npl.plot(xs[:,0],xs[:,1],'+b', |
4de0 | 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 70 6c 6f 74 | label='Source.samples')\npl.plot |
4e00 | 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 27 78 72 27 2c 6c 61 62 65 6c 3d 27 54 61 72 | (xt[:,0],xt[:,1],'xr',label='Tar |
4e20 | 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c | get.samples')\npl.legend(loc=0)\ |
4e40 | 6e 70 6c 2e 74 69 74 6c 65 28 27 53 6f 75 72 63 65 20 61 6e 64 20 74 72 61 67 65 74 20 64 69 73 | npl.title('Source.and.traget.dis |
4e60 | 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 29 5c 6e 70 6c | tributions')\n\npl.figure(2)\npl |
4e80 | 2e 69 6d 73 68 6f 77 28 4d 2c 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 73 74 | .imshow(M,interpolation='nearest |
4ea0 | 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 43 6f 73 74 20 6d 61 74 72 69 78 20 4d 27 29 5c 6e 5c | ')\npl.title('Cost.matrix.M')\n\ |
4ec0 | 6e 5c 6e 23 25 25 20 45 4d 44 5c 6e 5c 6e 47 30 3d 6f 74 2e 65 6d 64 28 61 2c 62 2c 4d 29 5c 6e | n\n#%%.EMD\n\nG0=ot.emd(a,b,M)\n |
4ee0 | 5c 6e 70 6c 2e 66 69 67 75 72 65 28 33 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 47 30 2c 69 6e 74 | \npl.figure(3)\npl.imshow(G0,int |
4f00 | 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 28 | erpolation='nearest')\npl.title( |
4f20 | 27 4f 54 20 6d 61 74 72 69 78 20 47 30 27 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 34 29 5c | 'OT.matrix.G0')\n\npl.figure(4)\ |
4f40 | 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 6c 65 73 5f 6d 61 74 28 78 73 2c 78 | not.plot.plot2D_samples_mat(xs,x |
4f60 | 74 2c 47 30 2c 63 3d 5b 2e 35 2c 2e 35 2c 31 5d 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 73 5b 3a 2c | t,G0,c=[.5,.5,1])\npl.plot(xs[:, |
4f80 | 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 27 2b 62 27 2c 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 | 0],xs[:,1],'+b',label='Source.sa |
4fa0 | 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d | mples')\npl.plot(xt[:,0],xt[:,1] |
4fc0 | 2c 27 78 72 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 | ,'xr',label='Target.samples')\np |
4fe0 | 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 6d 61 | l.legend(loc=0)\npl.title('OT.ma |
5000 | 74 72 69 78 20 77 69 74 68 20 73 61 6d 70 6c 65 73 27 29 5c 6e 5c 6e 5c 6e 23 25 25 20 73 69 6e | trix.with.samples')\n\n\n#%%.sin |
5020 | 6b 68 6f 72 6e 5c 6e 5c 6e 23 20 72 65 67 20 74 65 72 6d 5c 6e 6c 61 6d 62 64 3d 35 65 2d 33 5c | khorn\n\n#.reg.term\nlambd=5e-3\ |
5040 | 6e 5c 6e 47 73 3d 6f 74 2e 73 69 6e 6b 68 6f 72 6e 28 61 2c 62 2c 4d 2c 6c 61 6d 62 64 29 5c 6e | n\nGs=ot.sinkhorn(a,b,M,lambd)\n |
5060 | 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 73 2c 69 6e 74 | \npl.figure(5)\npl.imshow(Gs,int |
5080 | 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 28 | erpolation='nearest')\npl.title( |
50a0 | 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 6c 2e 66 69 67 75 | 'OT.matrix.sinkhorn')\n\npl.figu |
50c0 | 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 6c 65 73 5f 6d 61 | re(6)\not.plot.plot2D_samples_ma |
50e0 | 74 28 78 73 2c 78 74 2c 47 73 2c 63 6f 6c 6f 72 3d 5b 2e 35 2c 2e 35 2c 31 5d 29 5c 6e 70 6c 2e | t(xs,xt,Gs,color=[.5,.5,1])\npl. |
5100 | 70 6c 6f 74 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 27 2b 62 27 2c 6c 61 62 65 6c 3d | plot(xs[:,0],xs[:,1],'+b',label= |
5120 | 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 74 5b 3a 2c | 'Source.samples')\npl.plot(xt[:, |
5140 | 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 27 78 72 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 | 0],xt[:,1],'xr',label='Target.sa |
5160 | 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 69 | mples')\npl.legend(loc=0)\npl.ti |
5180 | 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 20 53 69 6e 6b 68 6f 72 6e 20 77 69 74 68 20 73 61 6d | tle('OT.matrix.Sinkhorn.with.sam |
51a0 | 70 6c 65 73 27 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 | ples')".......],........"outputs |
51c0 | 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 | ":.[],........"metadata":.{..... |
51e0 | 20 20 20 20 22 63 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 | ...."collapsed":.false.......}.. |
5200 | 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 | ...}...],...."metadata":.{....." |
5220 | 6b 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 | kernelspec":.{......."display_na |
5240 | 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 | me":."Python.2",........"name":. |
5260 | 22 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 | "python2",........"language":."p |
5280 | 79 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 | ython".....},......"language_inf |
52a0 | 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d | o":.{......."mimetype":."text/x- |
52c0 | 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 | python",........"nbconvert_expor |
52e0 | 74 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 | ter":."python",........"name":." |
5300 | 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 | python",........"file_extension" |
5320 | 3a 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e | :.".py",........"version":."2.7. |
5340 | 31 32 22 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 | 12",........"pygments_lexer":."i |
5360 | 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 | python2",........"codemirror_mod |
5380 | 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 | e":.{........."version":.2,..... |
53a0 | 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 | ....."name":."ipython".......}.. |
53c0 | 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 75 7b 82 49 55 d4 67 d2 3c 0e 00 00 | ...}...}.}PK........u{.IU.g.<... |
53e0 | 3c 0e 00 00 20 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 44 41 5f | <.......auto_examples/plot_OTDA_ |
5400 | 32 44 2e 69 70 79 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c | 2D.ipynb{..."nbformat_minor":.0, |
5420 | 20 0a 20 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b | ...."nbformat":.4,...."cells":.[ |
5440 | 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":. |
5460 | 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" |
5480 | 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 25 6d | ,........"source":.[........."%m |
54a0 | 61 74 70 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 | atplotlib.inline".......],...... |
54c0 | 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 74 | .."outputs":.[],........"metadat |
54e0 | 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 |
5500 | 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 6f | .......}.....},......{......."so |
5520 | 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 65 6d 70 | urce":.[........."\n#.OT.for.emp |
5540 | 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 5c 6e 22 0a 20 20 | irical.distributions\n\n\n\n"... |
5560 | 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b | ....],........"cell_type":."mark |
5580 | 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 | down",........"metadata":.{}.... |
55a0 | 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e | .},......{......."execution_coun |
55c0 | 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 | t":.null,........"cell_type":."c |
55e0 | 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 | ode",........"source":.[........ |
5600 | 20 22 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 6d 61 74 | ."import.numpy.as.np\nimport.mat |
5620 | 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 5c 6e | plotlib.pylab.as.pl\nimport.ot\n |
5640 | 5c 6e 5c 6e 5c 6e 23 25 25 20 70 61 72 61 6d 65 74 65 72 73 5c 6e 5c 6e 6e 3d 31 35 30 20 23 20 | \n\n\n#%%.parameters\n\nn=150.#. |
5660 | 6e 62 20 62 69 6e 73 5c 6e 5c 6e 78 73 2c 79 73 3d 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 | nb.bins\n\nxs,ys=ot.datasets.get |
5680 | 5f 64 61 74 61 5f 63 6c 61 73 73 69 66 28 27 33 67 61 75 73 73 27 2c 6e 29 5c 6e 78 74 2c 79 74 | _data_classif('3gauss',n)\nxt,yt |
56a0 | 3d 6f 74 2e 64 61 74 61 73 65 74 73 2e 67 65 74 5f 64 61 74 61 5f 63 6c 61 73 73 69 66 28 27 33 | =ot.datasets.get_data_classif('3 |
56c0 | 67 61 75 73 73 32 27 2c 6e 29 5c 6e 5c 6e 61 2c 62 20 3d 20 6f 74 2e 75 6e 69 66 28 6e 29 2c 6f | gauss2',n)\n\na,b.=.ot.unif(n),o |
56e0 | 74 2e 75 6e 69 66 28 6e 29 5c 6e 23 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 4d 3d 6f 74 2e 64 | t.unif(n)\n#.loss.matrix\nM=ot.d |
5700 | 69 73 74 28 78 73 2c 78 74 29 5c 6e 23 4d 2f 3d 4d 2e 6d 61 78 28 29 5c 6e 5c 6e 23 25 25 20 70 | ist(xs,xt)\n#M/=M.max()\n\n#%%.p |
5720 | 6c 6f 74 20 73 61 6d 70 6c 65 73 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 31 29 5c 6e 5c 6e 70 | lot.samples\n\npl.figure(1)\n\np |
5740 | 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 32 2c 31 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 5b | l.subplot(2,2,1)\npl.scatter(xs[ |
5760 | 3a 2c 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 | :,0],xs[:,1],c=ys,marker='+',lab |
5780 | 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 | el='Source.samples')\npl.legend( |
57a0 | 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 64 69 73 74 72 69 | loc=0)\npl.title('Source..distri |
57c0 | 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 32 2c 32 29 5c 6e | butions')\n\npl.subplot(2,2,2)\n |
57e0 | 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c | pl.scatter(xt[:,0],xt[:,1],c=yt, |
5800 | 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 | marker='o',label='Target.samples |
5820 | 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 6c 6f 63 3d 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 | ')\npl.legend(loc=0)\npl.title(' |
5840 | 74 61 72 67 65 74 20 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 27 29 5c 6e 5c 6e 70 6c 2e 66 69 | target..distributions')\n\npl.fi |
5860 | 67 75 72 65 28 32 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 4d 2c 69 6e 74 65 72 70 6f 6c 61 74 69 | gure(2)\npl.imshow(M,interpolati |
5880 | 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 43 6f 73 74 20 6d 61 | on='nearest')\npl.title('Cost.ma |
58a0 | 74 72 69 78 20 4d 27 29 5c 6e 5c 6e 5c 6e 23 25 25 20 4f 54 20 65 73 74 69 6d 61 74 69 6f 6e 5c | trix.M')\n\n\n#%%.OT.estimation\ |
58c0 | 6e 5c 6e 23 20 45 4d 44 5c 6e 47 30 3d 6f 74 2e 65 6d 64 28 61 2c 62 2c 4d 29 5c 6e 5c 6e 23 20 | n\n#.EMD\nG0=ot.emd(a,b,M)\n\n#. |
58e0 | 73 69 6e 6b 68 6f 72 6e 5c 6e 6c 61 6d 62 64 3d 31 65 2d 31 5c 6e 47 73 3d 6f 74 2e 73 69 6e 6b | sinkhorn\nlambd=1e-1\nGs=ot.sink |
5900 | 68 6f 72 6e 28 61 2c 62 2c 4d 2c 6c 61 6d 62 64 29 5c 6e 5c 6e 5c 6e 23 20 47 72 6f 75 70 20 6c | horn(a,b,M,lambd)\n\n\n#.Group.l |
5920 | 61 73 73 6f 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 5c 6e 72 65 67 3d 31 65 2d 31 5c 6e 65 | asso.regularization\nreg=1e-1\ne |
5940 | 74 61 3d 31 65 30 5c 6e 47 67 3d 6f 74 2e 64 61 2e 73 69 6e 6b 68 6f 72 6e 5f 6c 70 6c 31 5f 6d | ta=1e0\nGg=ot.da.sinkhorn_lpl1_m |
5960 | 6d 28 61 2c 79 73 2e 61 73 74 79 70 65 28 6e 70 2e 69 6e 74 29 2c 62 2c 4d 2c 72 65 67 2c 65 74 | m(a,ys.astype(np.int),b,M,reg,et |
5980 | 61 29 5c 6e 5c 6e 5c 6e 23 25 25 20 76 69 73 75 20 6d 61 74 72 69 63 65 73 5c 6e 5c 6e 70 6c 2e | a)\n\n\n#%%.visu.matrices\n\npl. |
59a0 | 66 69 67 75 72 65 28 33 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 31 29 5c 6e | figure(3)\n\npl.subplot(2,3,1)\n |
59c0 | 70 6c 2e 69 6d 73 68 6f 77 28 47 30 2c 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 | pl.imshow(G0,interpolation='near |
59e0 | 65 73 74 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 20 27 29 5c 6e 5c | est')\npl.title('OT.matrix.')\n\ |
5a00 | 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 32 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 47 73 | npl.subplot(2,3,2)\npl.imshow(Gs |
5a20 | 2c 69 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 3d 27 6e 65 61 72 65 73 74 27 29 5c 6e 70 6c 2e 74 69 | ,interpolation='nearest')\npl.ti |
5a40 | 74 6c 65 28 27 4f 54 20 6d 61 74 72 69 78 20 53 69 6e 6b 68 6f 72 6e 27 29 5c 6e 5c 6e 70 6c 2e | tle('OT.matrix.Sinkhorn')\n\npl. |
5a60 | 73 75 62 70 6c 6f 74 28 32 2c 33 2c 33 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 47 67 2c 69 6e 74 | subplot(2,3,3)\npl.imshow(Gg,int |
5a80 | 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 28 | erpolation='nearest')\npl.title( |
5aa0 | 27 4f 54 20 6d 61 74 72 69 78 20 47 72 6f 75 70 20 6c 61 73 73 6f 27 29 5c 6e 5c 6e 70 6c 2e 73 | 'OT.matrix.Group.lasso')\n\npl.s |
5ac0 | 75 62 70 6c 6f 74 28 32 2c 33 2c 34 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 | ubplot(2,3,4)\not.plot.plot2D_sa |
5ae0 | 6d 70 6c 65 73 5f 6d 61 74 28 78 73 2c 78 74 2c 47 30 2c 63 3d 5b 2e 35 2c 2e 35 2c 31 5d 29 5c | mples_mat(xs,xt,G0,c=[.5,.5,1])\ |
5b00 | 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 63 3d 79 73 | npl.scatter(xs[:,0],xs[:,1],c=ys |
5b20 | 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 | ,marker='+',label='Source.sample |
5b40 | 73 27 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c | s')\npl.scatter(xt[:,0],xt[:,1], |
5b60 | 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 | c=yt,marker='o',label='Target.sa |
5b80 | 6d 70 6c 65 73 27 29 5c 6e 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 35 29 5c 6e | mples')\n\n\npl.subplot(2,3,5)\n |
5ba0 | 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 6d 70 6c 65 73 5f 6d 61 74 28 78 73 2c 78 74 | ot.plot.plot2D_samples_mat(xs,xt |
5bc0 | 2c 47 73 2c 63 3d 5b 2e 35 2c 2e 35 2c 31 5d 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 5b | ,Gs,c=[.5,.5,1])\npl.scatter(xs[ |
5be0 | 3a 2c 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 | :,0],xs[:,1],c=ys,marker='+',lab |
5c00 | 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 | el='Source.samples')\npl.scatter |
5c20 | 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 | (xt[:,0],xt[:,1],c=yt,marker='o' |
5c40 | 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 27 29 5c 6e 5c 6e 70 6c 2e 73 | ,label='Target.samples')\n\npl.s |
5c60 | 75 62 70 6c 6f 74 28 32 2c 33 2c 36 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 32 44 5f 73 61 | ubplot(2,3,6)\not.plot.plot2D_sa |
5c80 | 6d 70 6c 65 73 5f 6d 61 74 28 78 73 2c 78 74 2c 47 67 2c 63 3d 5b 2e 35 2c 2e 35 2c 31 5d 29 5c | mples_mat(xs,xt,Gg,c=[.5,.5,1])\ |
5ca0 | 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 31 5d 2c 63 3d 79 73 | npl.scatter(xs[:,0],xs[:,1],c=ys |
5cc0 | 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 53 6f 75 72 63 65 20 73 61 6d 70 6c 65 | ,marker='+',label='Source.sample |
5ce0 | 73 27 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c | s')\npl.scatter(xt[:,0],xt[:,1], |
5d00 | 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 | c=yt,marker='o',label='Target.sa |
5d20 | 6d 70 6c 65 73 27 29 5c 6e 5c 6e 23 25 25 20 73 61 6d 70 6c 65 20 69 6e 74 65 72 70 6f 6c 61 74 | mples')\n\n#%%.sample.interpolat |
5d40 | 69 6f 6e 5c 6e 5c 6e 78 73 74 30 3d 6e 2a 47 30 2e 64 6f 74 28 78 74 29 5c 6e 78 73 74 73 3d 6e | ion\n\nxst0=n*G0.dot(xt)\nxsts=n |
5d60 | 2a 47 73 2e 64 6f 74 28 78 74 29 5c 6e 78 73 74 67 3d 6e 2a 47 67 2e 64 6f 74 28 78 74 29 5c 6e | *Gs.dot(xt)\nxstg=n*Gg.dot(xt)\n |
5d80 | 5c 6e 70 6c 2e 66 69 67 75 72 65 28 34 29 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 31 | \npl.figure(4)\npl.subplot(2,3,1 |
5da0 | 29 5c 6e 5c 6e 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 | )\n\n\npl.scatter(xt[:,0],xt[:,1 |
5dc0 | 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 | ],c=yt,marker='o',label='Target. |
5de0 | 73 61 6d 70 6c 65 73 27 2c 61 6c 70 68 61 3d 30 2e 35 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 | samples',alpha=0.5)\npl.scatter( |
5e00 | 78 73 74 30 5b 3a 2c 30 5d 2c 78 73 74 30 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d | xst0[:,0],xst0[:,1],c=ys,marker= |
5e20 | 27 2b 27 2c 6c 61 62 65 6c 3d 27 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 73 3d 33 30 29 | '+',label='Transp.samples',s=30) |
5e40 | 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6e 74 65 72 70 20 73 61 6d 70 6c 65 73 27 29 5c 6e 70 6c | \npl.title('Interp.samples')\npl |
5e60 | 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 33 | .legend(loc=0)\n\npl.subplot(2,3 |
5e80 | 2c 32 29 5c 6e 5c 6e 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a | ,2)\n\n\npl.scatter(xt[:,0],xt[: |
5ea0 | 2c 31 5d 2c 63 3d 79 74 2c 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 | ,1],c=yt,marker='o',label='Targe |
5ec0 | 74 20 73 61 6d 70 6c 65 73 27 2c 61 6c 70 68 61 3d 30 2e 35 29 5c 6e 70 6c 2e 73 63 61 74 74 65 | t.samples',alpha=0.5)\npl.scatte |
5ee0 | 72 28 78 73 74 73 5b 3a 2c 30 5d 2c 78 73 74 73 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 | r(xsts[:,0],xsts[:,1],c=ys,marke |
5f00 | 72 3d 27 2b 27 2c 6c 61 62 65 6c 3d 27 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 73 3d 33 | r='+',label='Transp.samples',s=3 |
5f20 | 30 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6e 74 65 72 70 20 73 61 6d 70 6c 65 73 20 53 69 6e | 0)\npl.title('Interp.samples.Sin |
5f40 | 6b 68 6f 72 6e 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 33 29 5c 6e 5c 6e | khorn')\n\npl.subplot(2,3,3)\n\n |
5f60 | 70 6c 2e 73 63 61 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 31 5d 2c 63 3d 79 74 2c | pl.scatter(xt[:,0],xt[:,1],c=yt, |
5f80 | 6d 61 72 6b 65 72 3d 27 6f 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 73 61 6d 70 6c 65 73 | marker='o',label='Target.samples |
5fa0 | 27 2c 61 6c 70 68 61 3d 30 2e 35 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 74 67 5b 3a 2c | ',alpha=0.5)\npl.scatter(xstg[:, |
5fc0 | 30 5d 2c 78 73 74 67 5b 3a 2c 31 5d 2c 63 3d 79 73 2c 6d 61 72 6b 65 72 3d 27 2b 27 2c 6c 61 62 | 0],xstg[:,1],c=ys,marker='+',lab |
5fe0 | 65 6c 3d 27 54 72 61 6e 73 70 20 73 61 6d 70 6c 65 73 27 2c 73 3d 33 30 29 5c 6e 70 6c 2e 74 69 | el='Transp.samples',s=30)\npl.ti |
6000 | 74 6c 65 28 27 49 6e 74 65 72 70 20 73 61 6d 70 6c 65 73 20 47 72 6f 75 70 6c 61 73 73 6f 27 29 | tle('Interp.samples.Grouplasso') |
6020 | 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":.[], |
6040 | 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 |
6060 | 6f 6c 6c 61 70 73 65 64 22 3a 20 66 61 6c 73 65 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 | ollapsed":.false.......}.....}.. |
6080 | 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 6e 65 6c | .],...."metadata":.{....."kernel |
60a0 | 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 3a 20 22 | spec":.{......."display_name":." |
60c0 | 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f | Python.2",........"name":."pytho |
60e0 | 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 6f 6e 22 | n2",........"language":."python" |
6100 | 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a 20 7b 0a | .....},......"language_info":.{. |
6120 | 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 68 6f 6e | ......"mimetype":."text/x-python |
6140 | 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 22 3a 20 | ",........"nbconvert_exporter":. |
6160 | 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 68 6f 6e | "python",........"name":."python |
6180 | 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 2e 70 79 | ",........"file_extension":.".py |
61a0 | 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 2c 20 0a | ",........"version":."2.7.12",.. |
61c0 | 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 |
61e0 | 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a 20 7b 0a | 2",........"codemirror_mode":.{. |
6200 | 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 20 20 22 | ........"version":.2,.........." |
6220 | 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 | name":."ipython".......}.....}.. |
6240 | 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 6a 7b 82 49 cd 14 1c 01 46 09 00 00 46 09 00 00 23 00 | .}.}PK........j{.I....F...F...#. |
6260 | 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 64 65 6d 6f 5f 4f 54 5f 31 44 5f 74 65 73 74 2e | ..auto_examples/demo_OT_1D_test. |
6280 | 69 70 79 6e 62 7b 0a 20 20 22 6e 62 66 6f 72 6d 61 74 5f 6d 69 6e 6f 72 22 3a 20 30 2c 20 0a 20 | ipynb{..."nbformat_minor":.0,... |
62a0 | 20 22 6e 62 66 6f 72 6d 61 74 22 3a 20 34 2c 20 0a 20 20 22 63 65 6c 6c 73 22 3a 20 5b 0a 20 20 | ."nbformat":.4,...."cells":.[... |
62c0 | 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c | ..{......."execution_count":.nul |
62e0 | 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a | l,........"cell_type":."code",.. |
6300 | 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 70 | ......"source":.[........."%matp |
6320 | 6c 6f 74 6c 69 62 20 69 6e 6c 69 6e 65 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 | lotlib.inline".......],........" |
6340 | 6f 75 74 70 75 74 73 22 3a 20 5b 5d 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a | outputs":.[],........"metadata": |
6360 | 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... |
6380 | 20 20 20 20 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 73 6f 75 72 63 | ....}.....},......{......."sourc |
63a0 | 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5c 6e 44 65 6d 6f 20 66 6f 72 20 31 44 20 6f 70 74 | e":.[........."\nDemo.for.1D.opt |
63c0 | 69 6d 61 6c 20 74 72 61 6e 73 70 6f 72 74 5c 6e 5c 6e 40 61 75 74 68 6f 72 3a 20 72 66 6c 61 6d | imal.transport\n\n@author:.rflam |
63e0 | 61 72 79 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 | ary\n\n".......],........"cell_t |
6400 | 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 20 20 20 22 6d 65 74 61 64 61 | ype":."markdown",........"metada |
6420 | 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 22 65 78 65 | ta":.{}.....},......{......."exe |
6440 | 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c | cution_count":.null,........"cel |
6460 | 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 | l_type":."code",........"source" |
6480 | 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 6d 70 6f 72 74 20 6e 75 6d 70 79 20 61 73 20 6e 70 5c | :.[........."import.numpy.as.np\ |
64a0 | 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 |
64c0 | 69 6d 70 6f 72 74 20 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 | import.ot\nfrom.ot.datasets.impo |
64e0 | 72 74 20 67 65 74 5f 31 44 5f 67 61 75 73 73 20 61 73 20 67 61 75 73 73 5c 6e 5c 6e 5c 6e 23 25 | rt.get_1D_gauss.as.gauss\n\n\n#% |
6500 | 25 20 70 61 72 61 6d 65 74 65 72 73 5c 6e 5c 6e 6e 3d 31 30 30 20 23 20 6e 62 20 62 69 6e 73 5c | %.parameters\n\nn=100.#.nb.bins\ |
6520 | 6e 5c 6e 23 20 62 69 6e 20 70 6f 73 69 74 69 6f 6e 73 5c 6e 78 3d 6e 70 2e 61 72 61 6e 67 65 28 | n\n#.bin.positions\nx=np.arange( |
6540 | 6e 2c 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 | n,dtype=np.float64)\n\n#.Gaussia |
6560 | 6e 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 61 3d 67 61 75 73 73 28 6e 2c 6d 3d 6e 2a 2e | n.distributions\na=gauss(n,m=n*. |
6580 | 32 2c 73 3d 35 29 20 23 20 6d 3d 20 6d 65 61 6e 2c 20 73 3d 20 73 74 64 5c 6e 62 3d 67 61 75 73 | 2,s=5).#.m=.mean,.s=.std\nb=gaus |
65a0 | 73 28 6e 2c 6d 3d 6e 2a 2e 36 2c 73 3d 31 30 29 5c 6e 5c 6e 23 20 6c 6f 73 73 20 6d 61 74 72 69 | s(n,m=n*.6,s=10)\n\n#.loss.matri |
65c0 | 78 5c 6e 4d 3d 6f 74 2e 64 69 73 74 28 78 2e 72 65 73 68 61 70 65 28 28 6e 2c 31 29 29 2c 78 2e | x\nM=ot.dist(x.reshape((n,1)),x. |
65e0 | 72 65 73 68 61 70 65 28 28 6e 2c 31 29 29 29 5c 6e 4d 2f 3d 4d 2e 6d 61 78 28 29 5c 6e 5c 6e 23 | reshape((n,1)))\nM/=M.max()\n\n# |
6600 | 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. |
6620 | 66 69 67 75 72 65 28 31 29 5c 6e 70 6c 2e 70 6c 6f 74 28 78 2c 61 2c 27 62 27 2c 6c 61 62 65 6c | figure(1)\npl.plot(x,a,'b',label |
6640 | 3d 27 53 6f 75 72 63 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 27 29 5c 6e 70 6c 2e 70 6c 6f 74 | ='Source.distribution')\npl.plot |
6660 | 28 78 2c 62 2c 27 72 27 2c 6c 61 62 65 6c 3d 27 54 61 72 67 65 74 20 64 69 73 74 72 69 62 75 74 | (x,b,'r',label='Target.distribut |
6680 | 69 6f 6e 27 29 5c 6e 70 6c 2e 6c 65 67 65 6e 64 28 29 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 64 | ion')\npl.legend()\n\n#%%.plot.d |
66a0 | 69 73 74 72 69 62 75 74 69 6f 6e 73 20 61 6e 64 20 6c 6f 73 73 20 6d 61 74 72 69 78 5c 6e 5c 6e | istributions.and.loss.matrix\n\n |
66c0 | 70 6c 2e 66 69 67 75 72 65 28 32 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 | pl.figure(2)\not.plot.plot1D_mat |
66e0 | 28 61 2c 62 2c 4d 2c 27 43 6f 73 74 20 6d 61 74 72 69 78 20 4d 27 29 5c 6e 5c 6e 23 25 25 20 45 | (a,b,M,'Cost.matrix.M')\n\n#%%.E |
6700 | 4d 44 5c 6e 5c 6e 47 30 3d 6f 74 2e 65 6d 64 28 61 2c 62 2c 4d 29 5c 6e 5c 6e 70 6c 2e 66 69 67 | MD\n\nG0=ot.emd(a,b,M)\n\npl.fig |
6720 | 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 28 61 2c 62 2c 47 | ure(3)\not.plot.plot1D_mat(a,b,G |
6740 | 30 2c 27 4f 54 20 6d 61 74 72 69 78 20 47 30 27 29 5c 6e 5c 6e 23 25 25 20 53 69 6e 6b 68 6f 72 | 0,'OT.matrix.G0')\n\n#%%.Sinkhor |
6760 | 6e 5c 6e 5c 6e 6c 61 6d 62 64 3d 31 65 2d 33 5c 6e 47 73 3d 6f 74 2e 73 69 6e 6b 68 6f 72 6e 28 | n\n\nlambd=1e-3\nGs=ot.sinkhorn( |
6780 | 61 2c 62 2c 4d 2c 6c 61 6d 62 64 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 5c 6e 70 6c 2e | a,b,M,lambd,verbose=True)\n\npl. |
67a0 | 66 69 67 75 72 65 28 34 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c | figure(4)\not.plot.plot1D_mat(a, |
67c0 | 62 2c 47 73 2c 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 23 25 | b,Gs,'OT.matrix.Sinkhorn')\n\n#% |
67e0 | 25 20 53 69 6e 6b 68 6f 72 6e 5c 6e 5c 6e 6c 61 6d 62 64 3d 31 65 2d 34 5c 6e 47 73 73 2c 6c 6f | %.Sinkhorn\n\nlambd=1e-4\nGss,lo |
6800 | 67 3d 6f 74 2e 62 72 65 67 6d 61 6e 2e 73 69 6e 6b 68 6f 72 6e 5f 73 74 61 62 69 6c 69 7a 65 64 | g=ot.bregman.sinkhorn_stabilized |
6820 | 28 61 2c 62 2c 4d 2c 6c 61 6d 62 64 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 2c 6c 6f 67 3d 54 72 | (a,b,M,lambd,verbose=True,log=Tr |
6840 | 75 65 29 5c 6e 47 73 73 32 2c 6c 6f 67 32 3d 6f 74 2e 62 72 65 67 6d 61 6e 2e 73 69 6e 6b 68 6f | ue)\nGss2,log2=ot.bregman.sinkho |
6860 | 72 6e 5f 73 74 61 62 69 6c 69 7a 65 64 28 61 2c 62 2c 4d 2c 6c 61 6d 62 64 2c 76 65 72 62 6f 73 | rn_stabilized(a,b,M,lambd,verbos |
6880 | 65 3d 54 72 75 65 2c 6c 6f 67 3d 54 72 75 65 2c 77 61 72 6d 73 74 61 72 74 3d 6c 6f 67 5b 27 77 | e=True,log=True,warmstart=log['w |
68a0 | 61 72 6d 73 74 61 72 74 27 5d 29 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 35 29 5c 6e 6f 74 2e | armstart'])\n\npl.figure(5)\not. |
68c0 | 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 2c 62 2c 47 73 73 2c 27 4f 54 20 6d 61 74 72 | plot.plot1D_mat(a,b,Gss,'OT.matr |
68e0 | 69 78 20 53 69 6e 6b 68 6f 72 6e 20 73 74 61 62 69 6c 69 7a 65 64 27 29 5c 6e 5c 6e 23 25 25 20 | ix.Sinkhorn.stabilized')\n\n#%%. |
6900 | 53 69 6e 6b 68 6f 72 6e 5c 6e 5c 6e 6c 61 6d 62 64 3d 31 65 2d 31 31 5c 6e 47 73 73 3d 6f 74 2e | Sinkhorn\n\nlambd=1e-11\nGss=ot. |
6920 | 62 72 65 67 6d 61 6e 2e 73 69 6e 6b 68 6f 72 6e 5f 65 70 73 69 6c 6f 6e 5f 73 63 61 6c 69 6e 67 | bregman.sinkhorn_epsilon_scaling |
6940 | 28 61 2c 62 2c 4d 2c 6c 61 6d 62 64 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 5c 6e 70 6c | (a,b,M,lambd,verbose=True)\n\npl |
6960 | 2e 66 69 67 75 72 65 28 35 29 5c 6e 6f 74 2e 70 6c 6f 74 2e 70 6c 6f 74 31 44 5f 6d 61 74 28 61 | .figure(5)\not.plot.plot1D_mat(a |
6980 | 2c 62 2c 47 73 73 2c 27 4f 54 20 6d 61 74 72 69 78 20 53 69 6e 6b 68 6f 72 6e 20 73 74 61 62 69 | ,b,Gss,'OT.matrix.Sinkhorn.stabi |
69a0 | 6c 69 7a 65 64 27 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 | lized')".......],........"output |
69c0 | 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":.{.... |
69e0 | 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.......}. |
6a00 | 20 20 20 20 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 | ....}...],...."metadata":.{..... |
6a20 | 22 6b 65 72 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e | "kernelspec":.{......."display_n |
6a40 | 61 6d 65 22 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a | ame":."Python.2",........"name": |
6a60 | 20 22 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 | ."python2",........"language":." |
6a80 | 70 79 74 68 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e | python".....},......"language_in |
6aa0 | 66 6f 22 3a 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 | fo":.{......."mimetype":."text/x |
6ac0 | 2d 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f | -python",........"nbconvert_expo |
6ae0 | 72 74 65 72 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 | rter":."python",........"name":. |
6b00 | 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e | "python",........"file_extension |
6b20 | 22 3a 20 22 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 | ":.".py",........"version":."2.7 |
6b40 | 2e 31 32 22 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 | .12",........"pygments_lexer":." |
6b60 | 69 70 79 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f | ipython2",........"codemirror_mo |
6b80 | 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 | de":.{........."version":.2,.... |
6ba0 | 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a | ......"name":."ipython".......}. |
6bc0 | 20 20 20 20 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 86 7b 82 49 4f 22 f2 c8 74 0e 00 | ....}...}.}PK.........{.IO"..t.. |
6be0 | 00 74 0e 00 00 2a 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 44 41 | .t...*...auto_examples/plot_OTDA |
6c00 | 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 6f 72 6d 61 74 | _color_images.ipynb{..."nbformat |
6c20 | 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 34 2c 20 0a 20 | _minor":.0,...."nbformat":.4,... |
6c40 | 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 65 63 75 74 69 | ."cells":.[.....{......."executi |
6c60 | 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 79 | on_count":.null,........"cell_ty |
6c80 | 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 0a | pe":."code",........"source":.[. |
6ca0 | 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 20 20 | ........"%matplotlib.inline".... |
6cc0 | 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":.[],..... |
6ce0 | 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 |
6d00 | 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.......}.....},...... |
6d20 | 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 5c 6e 3d | {......."source":.[........."\n= |
6d40 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
6d60 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 4f 54 20 66 6f 72 20 | =======================\nOT.for. |
6d80 | 64 6f 6d 61 69 6e 20 61 64 61 70 74 61 74 69 6f 6e 20 77 69 74 68 20 69 6d 61 67 65 20 63 6f 6c | domain.adaptation.with.image.col |
6da0 | 6f 72 20 61 64 61 70 74 61 74 69 6f 6e 20 5b 36 5d 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | or.adaptation.[6]\n============= |
6dc0 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
6de0 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 5c 6e 5b 36 5d 20 46 65 72 72 61 64 61 6e 73 2c 20 53 2e | ===========\n\n[6].Ferradans,.S. |
6e00 | 2c 20 50 61 70 61 64 61 6b 69 73 2c 20 4e 2e 2c 20 50 65 79 72 65 2c 20 47 2e 2c 20 26 20 41 75 | ,.Papadakis,.N.,.Peyre,.G.,.&.Au |
6e20 | 6a 6f 6c 2c 20 4a 2e 20 46 2e 20 28 32 30 31 34 29 2e 20 52 65 67 75 6c 61 72 69 7a 65 64 20 64 | jol,.J..F..(2014)..Regularized.d |
6e40 | 69 73 63 72 65 74 65 20 6f 70 74 69 6d 61 6c 20 74 72 61 6e 73 70 6f 72 74 2e 20 53 49 41 4d 20 | iscrete.optimal.transport..SIAM. |
6e60 | 4a 6f 75 72 6e 61 6c 20 6f 6e 20 49 6d 61 67 69 6e 67 20 53 63 69 65 6e 63 65 73 2c 20 37 28 33 | Journal.on.Imaging.Sciences,.7(3 |
6e80 | 29 2c 20 31 38 35 33 2d 31 38 38 32 2e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 | ),.1853-1882.\n\n".......],..... |
6ea0 | 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 6d 61 72 6b 64 6f 77 6e 22 2c 20 0a 20 20 20 | ..."cell_type":."markdown",..... |
6ec0 | 20 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 7d 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 7b 0a | ..."metadata":.{}.....},......{. |
6ee0 | 20 20 20 20 20 20 22 65 78 65 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a | ......"execution_count":.null,.. |
6f00 | 20 20 20 20 20 20 22 63 65 6c 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 | ......"cell_type":."code",...... |
6f20 | 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 6d 70 6f 72 74 20 6e 75 | .."source":.[........."import.nu |
6f40 | 6d 70 79 20 61 73 20 6e 70 5c 6e 69 6d 70 6f 72 74 20 73 63 69 70 79 2e 6e 64 69 6d 61 67 65 20 | mpy.as.np\nimport.scipy.ndimage. |
6f60 | 61 73 20 73 70 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 | as.spi\nimport.matplotlib.pylab. |
6f80 | 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 5c 6e 5c 6e 23 25 25 20 4c 6f 61 64 69 6e | as.pl\nimport.ot\n\n\n#%%.Loadin |
6fa0 | 67 20 69 6d 61 67 65 73 5c 6e 5c 6e 49 31 3d 73 70 69 2e 69 6d 72 65 61 64 28 27 2e 2e 2f 64 61 | g.images\n\nI1=spi.imread('../da |
6fc0 | 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 |
6fe0 | 61 74 36 34 29 2f 32 35 36 5c 6e 49 32 3d 73 70 69 2e 69 6d 72 65 61 64 28 27 2e 2e 2f 64 61 74 | at64)/256\nI2=spi.imread('../dat |
7000 | 61 2f 6f 63 65 61 6e 5f 73 75 6e 73 65 74 2e 6a 70 67 27 29 2e 61 73 74 79 70 65 28 6e 70 2e 66 | a/ocean_sunset.jpg').astype(np.f |
7020 | 6c 6f 61 74 36 34 29 2f 32 35 36 5c 6e 5c 6e 23 25 25 20 50 6c 6f 74 20 69 6d 61 67 65 73 5c 6e | loat64)/256\n\n#%%.Plot.images\n |
7040 | 5c 6e 70 6c 2e 66 69 67 75 72 65 28 31 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 32 | \npl.figure(1)\n\npl.subplot(1,2 |
7060 | 2c 31 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d | ,1)\npl.imshow(I1)\npl.title('Im |
7080 | 61 67 65 20 31 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 32 2c 32 29 5c 6e 70 6c | age.1')\n\npl.subplot(1,2,2)\npl |
70a0 | 2e 69 6d 73 68 6f 77 28 49 32 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 32 27 29 | .imshow(I2)\npl.title('Image.2') |
70c0 | 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 5c 6e 5c 6e 23 25 25 20 49 6d 61 67 65 20 63 6f 6e 76 65 | \n\npl.show()\n\n#%%.Image.conve |
70e0 | 72 73 69 6f 6e 20 61 6e 64 20 64 61 74 61 73 65 74 20 67 65 6e 65 72 61 74 69 6f 6e 5c 6e 5c 6e | rsion.and.dataset.generation\n\n |
7100 | 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 72 | def.im2mat(I):\n....\"\"\"Conver |
7120 | 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 65 | ts.and.image.to.matrix.(one.pixe |
7140 | 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 2e | l.per.line)\"\"\"\n....return.I. |
7160 | 72 65 73 68 61 70 65 28 28 49 2e 73 68 61 70 65 5b 30 5d 2a 49 2e 73 68 61 70 65 5b 31 5d 2c 49 | reshape((I.shape[0]*I.shape[1],I |
7180 | 2e 73 68 61 70 65 5b 32 5d 29 29 5c 6e 5c 6e 64 65 66 20 6d 61 74 32 69 6d 28 58 2c 73 68 61 70 | .shape[2]))\n\ndef.mat2im(X,shap |
71a0 | 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 61 63 6b 20 61 20 6d | e):\n....\"\"\"Converts.back.a.m |
71c0 | 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 20 20 20 20 72 65 74 | atrix.to.an.image\"\"\"\n....ret |
71e0 | 75 72 6e 20 58 2e 72 65 73 68 61 70 65 28 73 68 61 70 65 29 5c 6e 5c 6e 58 31 3d 69 6d 32 6d 61 | urn.X.reshape(shape)\n\nX1=im2ma |
7200 | 74 28 49 31 29 5c 6e 58 32 3d 69 6d 32 6d 61 74 28 49 32 29 5c 6e 5c 6e 23 20 74 72 61 69 6e 69 | t(I1)\nX2=im2mat(I2)\n\n#.traini |
7220 | 6e 67 20 73 61 6d 70 6c 65 73 5c 6e 6e 62 3d 31 30 30 30 5c 6e 69 64 78 31 3d 6e 70 2e 72 61 6e | ng.samples\nnb=1000\nidx1=np.ran |
7240 | 64 6f 6d 2e 72 61 6e 64 69 6e 74 28 58 31 2e 73 68 61 70 65 5b 30 5d 2c 73 69 7a 65 3d 28 6e 62 | dom.randint(X1.shape[0],size=(nb |
7260 | 2c 29 29 5c 6e 69 64 78 32 3d 6e 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 69 6e 74 28 58 32 2e 73 | ,))\nidx2=np.random.randint(X2.s |
7280 | 68 61 70 65 5b 30 5d 2c 73 69 7a 65 3d 28 6e 62 2c 29 29 5c 6e 5c 6e 78 73 3d 58 31 5b 69 64 78 | hape[0],size=(nb,))\n\nxs=X1[idx |
72a0 | 31 2c 3a 5d 5c 6e 78 74 3d 58 32 5b 69 64 78 32 2c 3a 5d 5c 6e 5c 6e 23 25 25 20 50 6c 6f 74 20 | 1,:]\nxt=X2[idx2,:]\n\n#%%.Plot. |
72c0 | 69 6d 61 67 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e 5c 6e 70 6c 2e 66 69 67 75 | image.distributions\n\n\npl.figu |
72e0 | 72 65 28 32 2c 28 31 30 2c 35 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 32 2c 31 | re(2,(10,5))\n\npl.subplot(1,2,1 |
7300 | 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 32 5d 2c 63 3d | )\npl.scatter(xs[:,0],xs[:,2],c= |
7320 | 78 73 29 5c 6e 70 6c 2e 61 78 69 73 28 5b 30 2c 31 2c 30 2c 31 5d 29 5c 6e 70 6c 2e 78 6c 61 62 | xs)\npl.axis([0,1,0,1])\npl.xlab |
7340 | 65 6c 28 27 52 65 64 27 29 5c 6e 70 6c 2e 79 6c 61 62 65 6c 28 27 42 6c 75 65 27 29 5c 6e 70 6c | el('Red')\npl.ylabel('Blue')\npl |
7360 | 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 31 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 | .title('Image.1')\n\npl.subplot( |
7380 | 31 2c 32 2c 32 29 5c 6e 23 70 6c 2e 69 6d 73 68 6f 77 28 49 32 29 5c 6e 70 6c 2e 73 63 61 74 74 | 1,2,2)\n#pl.imshow(I2)\npl.scatt |
73a0 | 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 32 5d 2c 63 3d 78 74 29 5c 6e 70 6c 2e 61 78 69 | er(xt[:,0],xt[:,2],c=xt)\npl.axi |
73c0 | 73 28 5b 30 2c 31 2c 30 2c 31 5d 29 5c 6e 70 6c 2e 78 6c 61 62 65 6c 28 27 52 65 64 27 29 5c 6e | s([0,1,0,1])\npl.xlabel('Red')\n |
73e0 | 70 6c 2e 79 6c 61 62 65 6c 28 27 42 6c 75 65 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 | pl.ylabel('Blue')\npl.title('Ima |
7400 | 67 65 20 32 27 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 64 | ge.2')\n\npl.show()\n\n\n\n#%%.d |
7420 | 6f 6d 61 69 6e 20 61 64 61 70 74 61 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 69 6d 61 67 65 73 5c | omain.adaptation.between.images\ |
7440 | 6e 5c 6e 23 20 4c 50 20 70 72 6f 62 6c 65 6d 5c 6e 64 61 5f 65 6d 64 3d 6f 74 2e 64 61 2e 4f 54 | n\n#.LP.problem\nda_emd=ot.da.OT |
7460 | 44 41 28 29 20 20 20 20 20 23 20 69 6e 69 74 20 63 6c 61 73 73 5c 6e 64 61 5f 65 6d 64 2e 66 69 | DA().....#.init.class\nda_emd.fi |
7480 | 74 28 78 73 2c 78 74 29 20 20 20 20 20 20 20 23 20 66 69 74 20 64 69 73 74 72 69 62 75 74 69 6f | t(xs,xt).......#.fit.distributio |
74a0 | 6e 73 5c 6e 5c 6e 5c 6e 23 20 73 69 6e 6b 68 6f 72 6e 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f | ns\n\n\n#.sinkhorn.regularizatio |
74c0 | 6e 5c 6e 6c 61 6d 62 64 3d 31 65 2d 31 5c 6e 64 61 5f 65 6e 74 72 6f 70 3d 6f 74 2e 64 61 2e 4f | n\nlambd=1e-1\nda_entrop=ot.da.O |
74e0 | 54 44 41 5f 73 69 6e 6b 68 6f 72 6e 28 29 5c 6e 64 61 5f 65 6e 74 72 6f 70 2e 66 69 74 28 78 73 | TDA_sinkhorn()\nda_entrop.fit(xs |
7500 | 2c 78 74 2c 72 65 67 3d 6c 61 6d 62 64 29 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 20 70 72 65 64 69 63 | ,xt,reg=lambd)\n\n\n\n#%%.predic |
7520 | 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 69 6d 61 67 65 73 20 28 75 73 69 6e 67 20 6f 75 74 20 6f | tion.between.images.(using.out.o |
7540 | 66 20 73 61 6d 70 6c 65 20 70 72 65 64 69 63 74 69 6f 6e 20 61 73 20 69 6e 20 5b 36 5d 29 5c 6e | f.sample.prediction.as.in.[6])\n |
7560 | 5c 6e 58 31 74 3d 64 61 5f 65 6d 64 2e 70 72 65 64 69 63 74 28 58 31 29 5c 6e 58 32 74 3d 64 61 | \nX1t=da_emd.predict(X1)\nX2t=da |
7580 | 5f 65 6d 64 2e 70 72 65 64 69 63 74 28 58 32 2c 2d 31 29 5c 6e 5c 6e 5c 6e 58 31 74 65 3d 64 61 | _emd.predict(X2,-1)\n\n\nX1te=da |
75a0 | 5f 65 6e 74 72 6f 70 2e 70 72 65 64 69 63 74 28 58 31 29 5c 6e 58 32 74 65 3d 64 61 5f 65 6e 74 | _entrop.predict(X1)\nX2te=da_ent |
75c0 | 72 6f 70 2e 70 72 65 64 69 63 74 28 58 32 2c 2d 31 29 5c 6e 5c 6e 5c 6e 64 65 66 20 6d 69 6e 6d | rop.predict(X2,-1)\n\n\ndef.minm |
75e0 | 61 78 28 49 29 3a 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 6e 70 2e 6d 69 6e 69 6d 75 6d 28 6e 70 | ax(I):\n....return.np.minimum(np |
7600 | 2e 6d 61 78 69 6d 75 6d 28 49 2c 30 29 2c 31 29 5c 6e 5c 6e 49 31 74 3d 6d 69 6e 6d 61 78 28 6d | .maximum(I,0),1)\n\nI1t=minmax(m |
7620 | 61 74 32 69 6d 28 58 31 74 2c 49 31 2e 73 68 61 70 65 29 29 5c 6e 49 32 74 3d 6d 69 6e 6d 61 78 | at2im(X1t,I1.shape))\nI2t=minmax |
7640 | 28 6d 61 74 32 69 6d 28 58 32 74 2c 49 32 2e 73 68 61 70 65 29 29 5c 6e 5c 6e 49 31 74 65 3d 6d | (mat2im(X2t,I2.shape))\n\nI1te=m |
7660 | 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 58 31 74 65 2c 49 31 2e 73 68 61 70 65 29 29 5c 6e 49 32 | inmax(mat2im(X1te,I1.shape))\nI2 |
7680 | 74 65 3d 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 58 32 74 65 2c 49 32 2e 73 68 61 70 65 29 29 | te=minmax(mat2im(X2te,I2.shape)) |
76a0 | 5c 6e 5c 6e 23 25 25 20 70 6c 6f 74 20 61 6c 6c 20 69 6d 61 67 65 73 5c 6e 5c 6e 70 6c 2e 66 69 | \n\n#%%.plot.all.images\n\npl.fi |
76c0 | 67 75 72 65 28 32 2c 28 31 30 2c 38 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 | gure(2,(10,8))\n\npl.subplot(2,3 |
76e0 | 2c 31 29 5c 6e 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 | ,1)\n\npl.imshow(I1)\npl.title(' |
7700 | 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 33 2c 32 29 5c 6e | Image.1')\n\npl.subplot(2,3,2)\n |
7720 | 70 6c 2e 69 6d 73 68 6f 77 28 49 31 74 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 | pl.imshow(I1t)\npl.title('Image. |
7740 | 31 20 41 64 61 70 74 27 29 5c 6e 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 33 29 | 1.Adapt')\n\n\npl.subplot(2,3,3) |
7760 | 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 74 65 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 | \npl.imshow(I1te)\npl.title('Ima |
7780 | 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 73 75 62 70 6c 6f 74 | ge.1.Adapt.(reg)')\n\npl.subplot |
77a0 | 28 32 2c 33 2c 34 29 5c 6e 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 32 29 5c 6e 70 6c 2e 74 69 74 | (2,3,4)\n\npl.imshow(I2)\npl.tit |
77c0 | 6c 65 28 27 49 6d 61 67 65 20 32 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c | le('Image.2')\n\npl.subplot(2,3, |
77e0 | 35 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 32 74 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d | 5)\npl.imshow(I2t)\npl.title('Im |
7800 | 61 67 65 20 32 20 41 64 61 70 74 27 29 5c 6e 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c | age.2.Adapt')\n\n\npl.subplot(2, |
7820 | 33 2c 36 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 32 74 65 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 | 3,6)\npl.imshow(I2te)\npl.title( |
7840 | 27 49 6d 61 67 65 20 32 20 41 64 61 70 74 20 28 72 65 67 29 27 29 5c 6e 5c 6e 70 6c 2e 73 68 6f | 'Image.2.Adapt.(reg)')\n\npl.sho |
7860 | 77 28 29 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 20 20 20 20 20 22 6f 75 74 70 75 74 73 22 3a 20 | w()".......],........"outputs":. |
7880 | 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":.{........ |
78a0 | 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.......}..... |
78c0 | 7d 0a 20 20 5d 2c 20 0a 20 20 22 6d 65 74 61 64 61 74 61 22 3a 20 7b 0a 20 20 20 20 22 6b 65 72 | }...],...."metadata":.{....."ker |
78e0 | 6e 65 6c 73 70 65 63 22 3a 20 7b 0a 20 20 20 20 20 20 22 64 69 73 70 6c 61 79 5f 6e 61 6d 65 22 | nelspec":.{......."display_name" |
7900 | 3a 20 22 50 79 74 68 6f 6e 20 32 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 | :."Python.2",........"name":."py |
7920 | 74 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 6c 61 6e 67 75 61 67 65 22 3a 20 22 70 79 74 68 | thon2",........"language":."pyth |
7940 | 6f 6e 22 0a 20 20 20 20 7d 2c 20 0a 20 20 20 20 22 6c 61 6e 67 75 61 67 65 5f 69 6e 66 6f 22 3a | on".....},......"language_info": |
7960 | 20 7b 0a 20 20 20 20 20 20 22 6d 69 6d 65 74 79 70 65 22 3a 20 22 74 65 78 74 2f 78 2d 70 79 74 | .{......."mimetype":."text/x-pyt |
7980 | 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 62 63 6f 6e 76 65 72 74 5f 65 78 70 6f 72 74 65 72 | hon",........"nbconvert_exporter |
79a0 | 22 3a 20 22 70 79 74 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 22 70 79 74 | ":."python",........"name":."pyt |
79c0 | 68 6f 6e 22 2c 20 0a 20 20 20 20 20 20 22 66 69 6c 65 5f 65 78 74 65 6e 73 69 6f 6e 22 3a 20 22 | hon",........"file_extension":." |
79e0 | 2e 70 79 22 2c 20 0a 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 22 32 2e 37 2e 31 32 22 | .py",........"version":."2.7.12" |
7a00 | 2c 20 0a 20 20 20 20 20 20 22 70 79 67 6d 65 6e 74 73 5f 6c 65 78 65 72 22 3a 20 22 69 70 79 74 | ,........"pygments_lexer":."ipyt |
7a20 | 68 6f 6e 32 22 2c 20 0a 20 20 20 20 20 20 22 63 6f 64 65 6d 69 72 72 6f 72 5f 6d 6f 64 65 22 3a | hon2",........"codemirror_mode": |
7a40 | 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 32 2c 20 0a 20 20 20 20 20 20 | .{........."version":.2,........ |
7a60 | 20 20 22 6e 61 6d 65 22 3a 20 22 69 70 79 74 68 6f 6e 22 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 | .."name":."ipython".......}..... |
7a80 | 7d 0a 20 20 7d 0a 7d 50 4b 03 04 14 00 00 00 00 00 d7 7b 82 49 c4 9e 28 9b ea 11 00 00 ea 11 00 | }...}.}PK.........{.I..(........ |
7aa0 | 00 32 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 44 41 5f 6d 61 70 | .2...auto_examples/plot_OTDA_map |
7ac0 | 70 69 6e 67 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 6f | ping_color_images.ipynb{..."nbfo |
7ae0 | 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 34 | rmat_minor":.0,...."nbformat":.4 |
7b00 | 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 65 | ,...."cells":.[.....{......."exe |
7b20 | 63 75 74 69 6f 6e 5f 63 6f 75 6e 74 22 3a 20 6e 75 6c 6c 2c 20 0a 20 20 20 20 20 20 22 63 65 6c | cution_count":.null,........"cel |
7b40 | 6c 5f 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 20 0a 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 | l_type":."code",........"source" |
7b60 | 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" |
7b80 | 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 20 | .......],........"outputs":.[],. |
7ba0 | 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 |
7bc0 | 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 0a | llapsed":.false.......}.....},.. |
7be0 | 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 20 | ....{......."source":.[......... |
7c00 | 22 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | "\n============================= |
7c20 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
7c40 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 4f 54 20 66 6f 72 20 | =======================\nOT.for. |
7c60 | 64 6f 6d 61 69 6e 20 61 64 61 70 74 61 74 69 6f 6e 20 77 69 74 68 20 69 6d 61 67 65 20 63 6f 6c | domain.adaptation.with.image.col |
7c80 | 6f 72 20 61 64 61 70 74 61 74 69 6f 6e 20 5b 36 5d 20 77 69 74 68 20 6d 61 70 70 69 6e 67 20 65 | or.adaptation.[6].with.mapping.e |
7ca0 | 73 74 69 6d 61 74 69 6f 6e 20 5b 38 5d 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | stimation.[8]\n================= |
7cc0 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
7ce0 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | ================================ |
7d00 | 3d 3d 3d 5c 6e 5c 6e 5b 36 5d 20 46 65 72 72 61 64 61 6e 73 2c 20 53 2e 2c 20 50 61 70 61 64 61 | ===\n\n[6].Ferradans,.S.,.Papada |
7d20 | 6b 69 73 2c 20 4e 2e 2c 20 50 65 79 72 65 2c 20 47 2e 2c 20 26 20 41 75 6a 6f 6c 2c 20 4a 2e 20 | kis,.N.,.Peyre,.G.,.&.Aujol,.J.. |
7d40 | 46 2e 20 28 32 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 | F..(2014)..Regularized\n....disc |
7d60 | 72 65 74 65 20 6f 70 74 69 6d 61 6c 20 74 72 61 6e 73 70 6f 72 74 2e 20 53 49 41 4d 20 4a 6f 75 | rete.optimal.transport..SIAM.Jou |
7d80 | 72 6e 61 6c 20 6f 6e 20 49 6d 61 67 69 6e 67 20 53 63 69 65 6e 63 65 73 2c 20 37 28 33 29 2c 20 | rnal.on.Imaging.Sciences,.7(3),. |
7da0 | 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 |
7dc0 | 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,.\" |
7de0 | 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 |
7e00 | 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 |
7e20 | 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. |
7e40 | 28 4e 49 50 53 29 2c 20 32 30 31 36 2e 5c 6e 5c 6e 5c 6e 22 0a 20 20 20 20 20 20 5d 2c 20 0a 20 | (NIPS),.2016.\n\n\n".......],... |
7e60 | 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",... |
7e80 | 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":.{}.....},...... |
7ea0 | 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, |
7ec0 | 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",.... |
7ee0 | 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 69 6d 70 6f 72 74 20 | ...."source":.[........."import. |
7f00 | 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 2e 6e 64 69 6d 61 67 | numpy.as.np\nimport.scipy.ndimag |
7f20 | 65 20 61 73 20 73 70 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 | e.as.spi\nimport.matplotlib.pyla |
7f40 | 62 20 61 73 20 70 6c 5c 6e 69 6d 70 6f 72 74 20 6f 74 5c 6e 5c 6e 5c 6e 23 25 25 20 4c 6f 61 64 | b.as.pl\nimport.ot\n\n\n#%%.Load |
7f60 | 69 6e 67 20 69 6d 61 67 65 73 5c 6e 5c 6e 49 31 3d 73 70 69 2e 69 6d 72 65 61 64 28 27 2e 2e 2f | ing.images\n\nI1=spi.imread('../ |
7f80 | 64 61 74 61 2f 6f 63 65 61 6e 5f 64 61 79 2e 6a 70 67 27 29 2e 61 73 74 79 70 65 28 6e 70 2e 66 | data/ocean_day.jpg').astype(np.f |
7fa0 | 6c 6f 61 74 36 34 29 2f 32 35 36 5c 6e 49 32 3d 73 70 69 2e 69 6d 72 65 61 64 28 27 2e 2e 2f 64 | loat64)/256\nI2=spi.imread('../d |
7fc0 | 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 79 70 65 28 6e 70 | ata/ocean_sunset.jpg').astype(np |
7fe0 | 2e 66 6c 6f 61 74 36 34 29 2f 32 35 36 5c 6e 5c 6e 23 25 25 20 50 6c 6f 74 20 69 6d 61 67 65 73 | .float64)/256\n\n#%%.Plot.images |
8000 | 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 31 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 | \n\npl.figure(1)\n\npl.subplot(1 |
8020 | 2c 32 2c 31 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 | ,2,1)\npl.imshow(I1)\npl.title(' |
8040 | 49 6d 61 67 65 20 31 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 32 2c 32 29 5c 6e | Image.1')\n\npl.subplot(1,2,2)\n |
8060 | 70 6c 2e 69 6d 73 68 6f 77 28 49 32 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 61 67 65 20 32 | pl.imshow(I2)\npl.title('Image.2 |
8080 | 27 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 5c 6e 5c 6e 23 25 25 20 49 6d 61 67 65 20 63 6f 6e | ')\n\npl.show()\n\n#%%.Image.con |
80a0 | 76 65 72 73 69 6f 6e 20 61 6e 64 20 64 61 74 61 73 65 74 20 67 65 6e 65 72 61 74 69 6f 6e 5c 6e | version.and.dataset.generation\n |
80c0 | 5c 6e 64 65 66 20 69 6d 32 6d 61 74 28 49 29 3a 5c 6e 20 20 20 20 5c 22 5c 22 5c 22 43 6f 6e 76 | \ndef.im2mat(I):\n....\"\"\"Conv |
80e0 | 65 72 74 73 20 61 6e 64 20 69 6d 61 67 65 20 74 6f 20 6d 61 74 72 69 78 20 28 6f 6e 65 20 70 69 | erts.and.image.to.matrix.(one.pi |
8100 | 78 65 6c 20 70 65 72 20 6c 69 6e 65 29 5c 22 5c 22 5c 22 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 | xel.per.line)\"\"\"\n....return. |
8120 | 49 2e 72 65 73 68 61 70 65 28 28 49 2e 73 68 61 70 65 5b 30 5d 2a 49 2e 73 68 61 70 65 5b 31 5d | I.reshape((I.shape[0]*I.shape[1] |
8140 | 2c 49 2e 73 68 61 70 65 5b 32 5d 29 29 5c 6e 5c 6e 64 65 66 20 6d 61 74 32 69 6d 28 58 2c 73 68 | ,I.shape[2]))\n\ndef.mat2im(X,sh |
8160 | 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 61 63 6b 20 61 | ape):\n....\"\"\"Converts.back.a |
8180 | 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 20 20 20 20 72 | .matrix.to.an.image\"\"\"\n....r |
81a0 | 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 58 31 3d 69 6d 32 | eturn.X.reshape(shape)\n\nX1=im2 |
81c0 | 6d 61 74 28 49 31 29 5c 6e 58 32 3d 69 6d 32 6d 61 74 28 49 32 29 5c 6e 5c 6e 23 20 74 72 61 69 | mat(I1)\nX2=im2mat(I2)\n\n#.trai |
81e0 | 6e 69 6e 67 20 73 61 6d 70 6c 65 73 5c 6e 6e 62 3d 31 30 30 30 5c 6e 69 64 78 31 3d 6e 70 2e 72 | ning.samples\nnb=1000\nidx1=np.r |
8200 | 61 6e 64 6f 6d 2e 72 61 6e 64 69 6e 74 28 58 31 2e 73 68 61 70 65 5b 30 5d 2c 73 69 7a 65 3d 28 | andom.randint(X1.shape[0],size=( |
8220 | 6e 62 2c 29 29 5c 6e 69 64 78 32 3d 6e 70 2e 72 61 6e 64 6f 6d 2e 72 61 6e 64 69 6e 74 28 58 32 | nb,))\nidx2=np.random.randint(X2 |
8240 | 2e 73 68 61 70 65 5b 30 5d 2c 73 69 7a 65 3d 28 6e 62 2c 29 29 5c 6e 5c 6e 78 73 3d 58 31 5b 69 | .shape[0],size=(nb,))\n\nxs=X1[i |
8260 | 64 78 31 2c 3a 5d 5c 6e 78 74 3d 58 32 5b 69 64 78 32 2c 3a 5d 5c 6e 5c 6e 23 25 25 20 50 6c 6f | dx1,:]\nxt=X2[idx2,:]\n\n#%%.Plo |
8280 | 74 20 69 6d 61 67 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e 5c 6e 70 6c 2e 66 69 | t.image.distributions\n\n\npl.fi |
82a0 | 67 75 72 65 28 32 2c 28 31 30 2c 35 29 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 31 2c 32 | gure(2,(10,5))\n\npl.subplot(1,2 |
82c0 | 2c 31 29 5c 6e 70 6c 2e 73 63 61 74 74 65 72 28 78 73 5b 3a 2c 30 5d 2c 78 73 5b 3a 2c 32 5d 2c | ,1)\npl.scatter(xs[:,0],xs[:,2], |
82e0 | 63 3d 78 73 29 5c 6e 70 6c 2e 61 78 69 73 28 5b 30 2c 31 2c 30 2c 31 5d 29 5c 6e 70 6c 2e 78 6c | c=xs)\npl.axis([0,1,0,1])\npl.xl |
8300 | 61 62 65 6c 28 27 52 65 64 27 29 5c 6e 70 6c 2e 79 6c 61 62 65 6c 28 27 42 6c 75 65 27 29 5c 6e | abel('Red')\npl.ylabel('Blue')\n |
8320 | 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 73 75 62 70 6c 6f | pl.title('Image.1')\n\npl.subplo |
8340 | 74 28 31 2c 32 2c 32 29 5c 6e 23 70 6c 2e 69 6d 73 68 6f 77 28 49 32 29 5c 6e 70 6c 2e 73 63 61 | t(1,2,2)\n#pl.imshow(I2)\npl.sca |
8360 | 74 74 65 72 28 78 74 5b 3a 2c 30 5d 2c 78 74 5b 3a 2c 32 5d 2c 63 3d 78 74 29 5c 6e 70 6c 2e 61 | tter(xt[:,0],xt[:,2],c=xt)\npl.a |
8380 | 78 69 73 28 5b 30 2c 31 2c 30 2c 31 5d 29 5c 6e 70 6c 2e 78 6c 61 62 65 6c 28 27 52 65 64 27 29 | xis([0,1,0,1])\npl.xlabel('Red') |
83a0 | 5c 6e 70 6c 2e 79 6c 61 62 65 6c 28 27 42 6c 75 65 27 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 | \npl.ylabel('Blue')\npl.title('I |
83c0 | 6d 61 67 65 20 32 27 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 5c 6e 5c 6e 5c 6e 5c 6e 23 25 25 | mage.2')\n\npl.show()\n\n\n\n#%% |
83e0 | 20 64 6f 6d 61 69 6e 20 61 64 61 70 74 61 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 69 6d 61 67 65 | .domain.adaptation.between.image |
8400 | 73 5c 6e 64 65 66 20 6d 69 6e 6d 61 78 28 49 29 3a 5c 6e 20 20 20 20 72 65 74 75 72 6e 20 6e 70 | s\ndef.minmax(I):\n....return.np |
8420 | 2e 6d 69 6e 69 6d 75 6d 28 6e 70 2e 6d 61 78 69 6d 75 6d 28 49 2c 30 29 2c 31 29 5c 6e 23 20 4c | .minimum(np.maximum(I,0),1)\n#.L |
8440 | 50 20 70 72 6f 62 6c 65 6d 5c 6e 64 61 5f 65 6d 64 3d 6f 74 2e 64 61 2e 4f 54 44 41 28 29 20 20 | P.problem\nda_emd=ot.da.OTDA().. |
8460 | 20 20 20 23 20 69 6e 69 74 20 63 6c 61 73 73 5c 6e 64 61 5f 65 6d 64 2e 66 69 74 28 78 73 2c 78 | ...#.init.class\nda_emd.fit(xs,x |
8480 | 74 29 20 20 20 20 20 20 20 23 20 66 69 74 20 64 69 73 74 72 69 62 75 74 69 6f 6e 73 5c 6e 5c 6e | t).......#.fit.distributions\n\n |
84a0 | 58 31 74 3d 64 61 5f 65 6d 64 2e 70 72 65 64 69 63 74 28 58 31 29 20 20 23 20 6f 75 74 20 6f 66 | X1t=da_emd.predict(X1)..#.out.of |
84c0 | 20 73 61 6d 70 6c 65 5c 6e 49 31 74 3d 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 58 31 74 2c 49 | .sample\nI1t=minmax(mat2im(X1t,I |
84e0 | 31 2e 73 68 61 70 65 29 29 5c 6e 5c 6e 23 20 73 69 6e 6b 68 6f 72 6e 20 72 65 67 75 6c 61 72 69 | 1.shape))\n\n#.sinkhorn.regulari |
8500 | 7a 61 74 69 6f 6e 5c 6e 6c 61 6d 62 64 3d 31 65 2d 31 5c 6e 64 61 5f 65 6e 74 72 6f 70 3d 6f 74 | zation\nlambd=1e-1\nda_entrop=ot |
8520 | 2e 64 61 2e 4f 54 44 41 5f 73 69 6e 6b 68 6f 72 6e 28 29 5c 6e 64 61 5f 65 6e 74 72 6f 70 2e 66 | .da.OTDA_sinkhorn()\nda_entrop.f |
8540 | 69 74 28 78 73 2c 78 74 2c 72 65 67 3d 6c 61 6d 62 64 29 5c 6e 5c 6e 58 31 74 65 3d 64 61 5f 65 | it(xs,xt,reg=lambd)\n\nX1te=da_e |
8560 | 6e 74 72 6f 70 2e 70 72 65 64 69 63 74 28 58 31 29 5c 6e 49 31 74 65 3d 6d 69 6e 6d 61 78 28 6d | ntrop.predict(X1)\nI1te=minmax(m |
8580 | 61 74 32 69 6d 28 58 31 74 65 2c 49 31 2e 73 68 61 70 65 29 29 5c 6e 5c 6e 23 20 6c 69 6e 65 61 | at2im(X1te,I1.shape))\n\n#.linea |
85a0 | 72 20 6d 61 70 70 69 6e 67 20 65 73 74 69 6d 61 74 69 6f 6e 5c 6e 65 74 61 3d 31 65 2d 38 20 20 | r.mapping.estimation\neta=1e-8.. |
85c0 | 20 23 20 71 75 61 64 72 61 74 69 63 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 20 66 6f 72 20 | .#.quadratic.regularization.for. |
85e0 | 72 65 67 72 65 73 73 69 6f 6e 5c 6e 6d 75 3d 31 65 30 20 20 20 20 20 23 20 77 65 69 67 68 74 20 | regression\nmu=1e0.....#.weight. |
8600 | 6f 66 20 74 68 65 20 4f 54 20 6c 69 6e 65 61 72 20 74 65 72 6d 5c 6e 62 69 61 73 3d 54 72 75 65 | of.the.OT.linear.term\nbias=True |
8620 | 20 20 23 20 65 73 74 69 6d 61 74 65 20 61 20 62 69 61 73 5c 6e 5c 6e 6f 74 5f 6d 61 70 70 69 6e | ..#.estimate.a.bias\n\not_mappin |
8640 | 67 3d 6f 74 2e 64 61 2e 4f 54 44 41 5f 6d 61 70 70 69 6e 67 5f 6c 69 6e 65 61 72 28 29 5c 6e 6f | g=ot.da.OTDA_mapping_linear()\no |
8660 | 74 5f 6d 61 70 70 69 6e 67 2e 66 69 74 28 78 73 2c 78 74 2c 6d 75 3d 6d 75 2c 65 74 61 3d 65 74 | t_mapping.fit(xs,xt,mu=mu,eta=et |
8680 | 61 2c 62 69 61 73 3d 62 69 61 73 2c 6e 75 6d 49 74 65 72 6d 61 78 20 3d 20 32 30 2c 76 65 72 62 | a,bias=bias,numItermax.=.20,verb |
86a0 | 6f 73 65 3d 54 72 75 65 29 5c 6e 5c 6e 58 31 74 6c 3d 6f 74 5f 6d 61 70 70 69 6e 67 2e 70 72 65 | ose=True)\n\nX1tl=ot_mapping.pre |
86c0 | 64 69 63 74 28 58 31 29 20 23 20 75 73 65 20 74 68 65 20 65 73 74 69 6d 61 74 65 64 20 6d 61 70 | dict(X1).#.use.the.estimated.map |
86e0 | 70 69 6e 67 5c 6e 49 31 74 6c 3d 6d 69 6e 6d 61 78 28 6d 61 74 32 69 6d 28 58 31 74 6c 2c 49 31 | ping\nI1tl=minmax(mat2im(X1tl,I1 |
8700 | 2e 73 68 61 70 65 29 29 5c 6e 5c 6e 23 20 6e 6f 6e 6c 69 6e 65 61 72 20 6d 61 70 70 69 6e 67 20 | .shape))\n\n#.nonlinear.mapping. |
8720 | 65 73 74 69 6d 61 74 69 6f 6e 5c 6e 65 74 61 3d 31 65 2d 32 20 20 20 23 20 71 75 61 64 72 61 74 | estimation\neta=1e-2...#.quadrat |
8740 | 69 63 20 72 65 67 75 6c 61 72 69 7a 61 74 69 6f 6e 20 66 6f 72 20 72 65 67 72 65 73 73 69 6f 6e | ic.regularization.for.regression |
8760 | 5c 6e 6d 75 3d 31 65 30 20 20 20 20 20 23 20 77 65 69 67 68 74 20 6f 66 20 74 68 65 20 4f 54 20 | \nmu=1e0.....#.weight.of.the.OT. |
8780 | 6c 69 6e 65 61 72 20 74 65 72 6d 5c 6e 62 69 61 73 3d 46 61 6c 73 65 20 20 23 20 65 73 74 69 6d | linear.term\nbias=False..#.estim |
87a0 | 61 74 65 20 61 20 62 69 61 73 5c 6e 73 69 67 6d 61 3d 31 20 20 20 20 23 20 73 69 67 6d 61 20 62 | ate.a.bias\nsigma=1....#.sigma.b |
87c0 | 61 6e 64 77 69 64 74 68 20 66 6f 74 20 67 61 75 73 73 69 61 6e 20 6b 65 72 6e 65 6c 5c 6e 5c 6e | andwidth.fot.gaussian.kernel\n\n |
87e0 | 5c 6e 6f 74 5f 6d 61 70 70 69 6e 67 5f 6b 65 72 6e 65 6c 3d 6f 74 2e 64 61 2e 4f 54 44 41 5f 6d | \not_mapping_kernel=ot.da.OTDA_m |
8800 | 61 70 70 69 6e 67 5f 6b 65 72 6e 65 6c 28 29 5c 6e 6f 74 5f 6d 61 70 70 69 6e 67 5f 6b 65 72 6e | apping_kernel()\not_mapping_kern |
8820 | 65 6c 2e 66 69 74 28 78 73 2c 78 74 2c 6d 75 3d 6d 75 2c 65 74 61 3d 65 74 61 2c 73 69 67 6d 61 | el.fit(xs,xt,mu=mu,eta=eta,sigma |
8840 | 3d 73 69 67 6d 61 2c 62 69 61 73 3d 62 69 61 73 2c 6e 75 6d 49 74 65 72 6d 61 78 20 3d 20 31 30 | =sigma,bias=bias,numItermax.=.10 |
8860 | 2c 76 65 72 62 6f 73 65 3d 54 72 75 65 29 5c 6e 5c 6e 58 31 74 6e 3d 6f 74 5f 6d 61 70 70 69 6e | ,verbose=True)\n\nX1tn=ot_mappin |
8880 | 67 5f 6b 65 72 6e 65 6c 2e 70 72 65 64 69 63 74 28 58 31 29 20 23 20 75 73 65 20 74 68 65 20 65 | g_kernel.predict(X1).#.use.the.e |
88a0 | 73 74 69 6d 61 74 65 64 20 6d 61 70 70 69 6e 67 5c 6e 49 31 74 6e 3d 6d 69 6e 6d 61 78 28 6d 61 | stimated.mapping\nI1tn=minmax(ma |
88c0 | 74 32 69 6d 28 58 31 74 6e 2c 49 31 2e 73 68 61 70 65 29 29 5c 6e 23 25 25 20 70 6c 6f 74 20 69 | t2im(X1tn,I1.shape))\n#%%.plot.i |
88e0 | 6d 61 67 65 73 5c 6e 5c 6e 5c 6e 70 6c 2e 66 69 67 75 72 65 28 32 2c 28 31 30 2c 38 29 29 5c 6e | mages\n\n\npl.figure(2,(10,8))\n |
8900 | 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 31 29 5c 6e 5c 6e 70 6c 2e 69 6d 73 68 6f 77 | \npl.subplot(2,3,1)\n\npl.imshow |
8920 | 28 49 31 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 73 75 | (I1)\npl.title('Im..1')\n\npl.su |
8940 | 62 70 6c 6f 74 28 32 2c 33 2c 32 29 5c 6e 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 32 29 5c 6e 70 | bplot(2,3,2)\n\npl.imshow(I2)\np |
8960 | 6c 2e 74 69 74 6c 65 28 27 49 6d 2e 20 32 27 29 5c 6e 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 | l.title('Im..2')\n\n\npl.subplot |
8980 | 28 32 2c 33 2c 33 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 74 29 5c 6e 70 6c 2e 74 69 74 6c | (2,3,3)\npl.imshow(I1t)\npl.titl |
89a0 | 65 28 27 49 6d 2e 20 31 20 49 6e 74 65 72 70 20 4c 50 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c | e('Im..1.Interp.LP')\n\npl.subpl |
89c0 | 6f 74 28 32 2c 33 2c 34 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 74 65 29 5c 6e 70 6c 2e 74 | ot(2,3,4)\npl.imshow(I1te)\npl.t |
89e0 | 69 74 6c 65 28 27 49 6d 2e 20 31 20 49 6e 74 65 72 70 20 45 6e 74 72 6f 70 27 29 5c 6e 5c 6e 5c | itle('Im..1.Interp.Entrop')\n\n\ |
8a00 | 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 35 29 5c 6e 70 6c 2e 69 6d 73 68 6f 77 28 49 31 | npl.subplot(2,3,5)\npl.imshow(I1 |
8a20 | 74 6c 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 2e 20 31 20 4c 69 6e 65 61 72 20 6d 61 70 70 | tl)\npl.title('Im..1.Linear.mapp |
8a40 | 69 6e 67 27 29 5c 6e 5c 6e 70 6c 2e 73 75 62 70 6c 6f 74 28 32 2c 33 2c 36 29 5c 6e 70 6c 2e 69 | ing')\n\npl.subplot(2,3,6)\npl.i |
8a60 | 6d 73 68 6f 77 28 49 31 74 6e 29 5c 6e 70 6c 2e 74 69 74 6c 65 28 27 49 6d 2e 20 31 20 6e 6f 6e | mshow(I1tn)\npl.title('Im..1.non |
8a80 | 6c 69 6e 65 61 72 20 6d 61 70 70 69 6e 67 27 29 5c 6e 5c 6e 70 6c 2e 73 68 6f 77 28 29 22 0a 20 | linear.mapping')\n\npl.show()".. |
8aa0 | 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":.[],... |
8ac0 | 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 |
8ae0 | 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 2c | apsed":.false.......}.....}...], |
8b00 | 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 65 | ...."metadata":.{....."kernelspe |
8b20 | 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 |
8b40 | 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 22 | hon.2",........"name":."python2" |
8b60 | 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 20 | ,........"language":."python"... |
8b80 | 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 20 | ..},......"language_info":.{.... |
8ba0 | 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 20 | ..."mimetype":."text/x-python",. |
8bc0 | 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 79 | ......."nbconvert_exporter":."py |
8be0 | 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 20 | thon",........"name":."python",. |
8c00 | 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 20 | ......."file_extension":.".py",. |
8c20 | 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 20 | ......."version":."2.7.12",..... |
8c40 | 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 2c | ..."pygments_lexer":."ipython2", |
8c60 | 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 20 | ........"codemirror_mode":.{.... |
8c80 | 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 6d | ....."version":.2,.........."nam |
8ca0 | 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 0a | e":."ipython".......}.....}...}. |
8cc0 | 7d 50 4b 01 02 14 03 14 00 00 00 00 00 87 7b 82 49 fa 8c 13 06 e2 10 00 00 e2 10 00 00 25 00 00 | }PK...........{.I............%.. |
8ce0 | 00 00 00 00 00 00 00 00 00 b4 81 00 00 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f | ...............auto_examples/plo |
8d00 | 74 5f 4f 54 44 41 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 | t_OTDA_mapping.ipynbPK.......... |
8d20 | ad 7a 82 49 a0 a0 4d 23 dd 08 00 00 dd 08 00 00 24 00 00 00 00 00 00 00 00 00 00 00 b4 81 25 11 | .z.I..M#........$.............%. |
8d40 | 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 6f 70 74 69 6d 5f 4f 54 72 65 67 | ..auto_examples/plot_optim_OTreg |
8d60 | 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 76 7b 82 49 50 0d 0a 74 03 0e 00 00 03 0e | .ipynbPK..........v{.IP..t...... |
8d80 | 00 00 25 00 00 00 00 00 00 00 00 00 00 00 b4 81 44 1a 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 | ..%.............D...auto_example |
8da0 | 73 2f 70 6c 6f 74 5f 4f 54 44 41 5f 63 6c 61 73 73 65 73 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 | s/plot_OTDA_classes.ipynbPK..... |
8dc0 | 00 00 00 00 00 d8 7b 82 49 f9 12 57 24 63 07 00 00 63 07 00 00 1e 00 00 00 00 00 00 00 00 00 00 | ......{.I..W$c...c.............. |
8de0 | 00 b4 81 8a 28 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 5f 31 44 2e | ....(..auto_examples/plot_OT_1D. |
8e00 | 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 ac 7a 82 49 51 3c 40 3f 86 0e 00 00 86 0e 00 | ipynbPK...........z.IQ<@?....... |
8e20 | 00 26 00 00 00 00 00 00 00 00 00 00 00 b4 81 29 30 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 | .&.............)0..auto_examples |
8e40 | 2f 70 6c 6f 74 5f 62 61 72 79 63 65 6e 74 65 72 5f 31 44 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 | /plot_barycenter_1D.ipynbPK..... |
8e60 | 00 00 00 00 00 6a 7b 82 49 bb fd 13 71 39 0a 00 00 39 0a 00 00 2b 00 00 00 00 00 00 00 00 00 00 | .....j{.I...q9...9...+.......... |
8e80 | 00 b4 81 f3 3e 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 64 65 6d 6f 5f 4f 54 5f 32 44 5f | ....>..auto_examples/demo_OT_2D_ |
8ea0 | 73 61 6d 70 6c 65 73 6c 61 72 67 65 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 d9 7b | sampleslarge.ipynbPK...........{ |
8ec0 | 82 49 12 a9 b6 58 11 0a 00 00 11 0a 00 00 26 00 00 00 00 00 00 00 00 00 00 00 b4 81 75 49 00 00 | .I...X........&.............uI.. |
8ee0 | 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 5f 32 44 5f 73 61 6d 70 6c 65 73 | auto_examples/plot_OT_2D_samples |
8f00 | 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 75 7b 82 49 55 d4 67 d2 3c 0e 00 00 3c 0e | .ipynbPK..........u{.IU.g.<...<. |
8f20 | 00 00 20 00 00 00 00 00 00 00 00 00 00 00 b4 81 ca 53 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 | .................S..auto_example |
8f40 | 73 2f 70 6c 6f 74 5f 4f 54 44 41 5f 32 44 2e 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 | s/plot_OTDA_2D.ipynbPK.......... |
8f60 | 6a 7b 82 49 cd 14 1c 01 46 09 00 00 46 09 00 00 23 00 00 00 00 00 00 00 00 00 00 00 b4 81 44 62 | j{.I....F...F...#.............Db |
8f80 | 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 64 65 6d 6f 5f 4f 54 5f 31 44 5f 74 65 73 74 2e | ..auto_examples/demo_OT_1D_test. |
8fa0 | 69 70 79 6e 62 50 4b 01 02 14 03 14 00 00 00 00 00 86 7b 82 49 4f 22 f2 c8 74 0e 00 00 74 0e 00 | ipynbPK...........{.IO"..t...t.. |
8fc0 | 00 2a 00 00 00 00 00 00 00 00 00 00 00 b4 81 cb 6b 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 | .*..............k..auto_examples |
8fe0 | 2f 70 6c 6f 74 5f 4f 54 44 41 5f 63 6f 6c 6f 72 5f 69 6d 61 67 65 73 2e 69 70 79 6e 62 50 4b 01 | /plot_OTDA_color_images.ipynbPK. |
9000 | 02 14 03 14 00 00 00 00 00 d7 7b 82 49 c4 9e 28 9b ea 11 00 00 ea 11 00 00 32 00 00 00 00 00 00 | ..........{.I..(.........2...... |
9020 | 00 00 00 00 00 b4 81 87 7a 00 00 61 75 74 6f 5f 65 78 61 6d 70 6c 65 73 2f 70 6c 6f 74 5f 4f 54 | ........z..auto_examples/plot_OT |
9040 | 44 41 5f 6d 61 70 70 69 6e 67 5f 63 6f 6c 6f 72 5f 69 6d 61 67 65 73 2e 69 70 79 6e 62 50 4b 05 | DA_mapping_color_images.ipynbPK. |
9060 | 06 00 00 00 00 0b 00 0b 00 9c 03 00 00 c1 8c 00 00 00 00 | ................... |