From 7080726691be9341436db5a664778679600c5f62 Mon Sep 17 00:00:00 2001 From: Francois Fleuret Date: Sun, 23 Feb 2020 13:40:55 +0100 Subject: [PATCH] Update. --- miniflow.py | 35 +++++++++++++++++------------------ miniflow_dist.pdf | Bin 0 -> 4041 bytes miniflow_flow.pdf | Bin 0 -> 6957 bytes miniflow_mapping.pdf | Bin 0 -> 5870 bytes miniflow_target_dist.pdf | Bin 0 -> 3387 bytes 5 files changed, 17 insertions(+), 18 deletions(-) create mode 100644 miniflow_dist.pdf create mode 100644 miniflow_flow.pdf create mode 100644 miniflow_mapping.pdf create mode 100644 miniflow_target_dist.pdf diff --git a/miniflow.py b/miniflow.py index e4f5945..b5c8cb4 100755 --- a/miniflow.py +++ b/miniflow.py @@ -202,26 +202,25 @@ fig.savefig(filename, bbox_inches='tight') ###################################################################### -z = torch.empty(200).normal_() -z = z[(z > -3) * (z < 3)] +# z = torch.empty(200).normal_() +# z = z[(z > -3) * (z < 3)] -x = model.invert(z) +# x = model.invert(z) -fig = plt.figure() -ax = fig.add_subplot(1, 1, 1) -ax.set_xlim(-4.5, 4.5) -ax.set_ylim(-0.1, 1.1) -lines = list(([(x_in.item(), 0), (x_out.item(), 0.5)]) for (x_in, x_out) in zip(x, z)) -lc = mc.LineCollection(lines, color = 'tab:red', linewidth = 0.1) -ax.add_collection(lc) -# ax.axis('off') - -# ax.fill_between(input, 0.52, mu_N * 0.2 + 0.52, color = green_dist) -# ax.fill_between(input, -0.30, mu * 0.2 - 0.30, color = green_dist) +# fig = plt.figure() +# ax = fig.add_subplot(1, 1, 1) +# ax.set_xlim(-4.5, 4.5) +# ax.set_ylim(-0.1, 1.1) +# lines = list(([(x_in.item(), 0), (x_out.item(), 0.5)]) for (x_in, x_out) in zip(x, z)) +# lc = mc.LineCollection(lines, color = 'tab:red', linewidth = 0.1) +# ax.add_collection(lc) +# # ax.axis('off') -filename = 'miniflow_synth.pdf' -print(f'Saving {filename}') -fig.savefig(filename, bbox_inches='tight') +# # ax.fill_between(input, 0.52, mu_N * 0.2 + 0.52, color = green_dist) +# # ax.fill_between(input, -0.30, mu * 0.2 - 0.30, color = green_dist) -# plt.show() +# filename = 'miniflow_synth.pdf' +# print(f'Saving {filename}') +# fig.savefig(filename, bbox_inches='tight') +# # plt.show() diff --git a/miniflow_dist.pdf b/miniflow_dist.pdf new file mode 100644 index 0000000000000000000000000000000000000000..928d8dacbf244314617e3f2d547b3f8953be5e37 GIT binary patch literal 4041 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 literal 0 HcmV?d00001 diff --git a/miniflow_flow.pdf b/miniflow_flow.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1749636c02c34430211aa263c6d59fbcc290906b GIT binary patch literal 6957 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 VaQj9yN+rpF*bQd0@ z#HyimsTvq%UVJ5({qMoHNc^g7+m0Q=$3ZdySeQ-wI!B zo|xj`rb`yZ(80GyWOvHv_0?t)HWh>16@DaoAA=+da*f9K6=98rQK8<43sQqLA{wD( z3!F(i#q;=k3VA%!1TQ`Zu2SjyiznS1Xzu>w?hk~w-q zq@OFsni3LGv&reup9pRmR&j3?Ko)fYVIGTK_|!D?B&DFpH;c8AVzS*p%N3-zT`$*7 zo3M*n_9;U59~o!ndJOMd7Y3DI&+W5AAj!fP%Tv;I+h4W$#+@_4cG+d<@(~Q5ddx)e6r@rzg2UZVmJ}27<#a{{P0BZmYwslbnxf&`cDzzkE!=a1d0(&gxh> z_(M<7IiBkO7C?S$B7fIInfU+1nKF^b*eYN)#ysLqK3K zh#);w@z@UQ3cBKi!nrtNagKJDAfyOf1St%%#o=6}q0qm7h+ti9C@vJa#L68_Q3d|# z<6>nEvP7XBC@lW=7yO4XgLlPP)5Ab;Bt7hZ4@g{03@HY(2K^6%Q)oJVK+b<*;-WAL z$^XI-QWSyWUl>M$!f9P6j&emAaAC04^F*;c6alijiW_0bmF%-gnt1Bp1+#eK* Pi^C=9!Qfk(%JlyS3m32v literal 0 HcmV?d00001 diff --git a/miniflow_mapping.pdf b/miniflow_mapping.pdf new file mode 100644 index 0000000000000000000000000000000000000000..82b1384ac6a9af44dc4a5de99f413a4c3c14edd9 GIT binary patch literal 5870 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 literal 0 HcmV?d00001 diff --git a/miniflow_target_dist.pdf b/miniflow_target_dist.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0bc0367cc4fcf3a6abdb1d549531313a402ebcb7 GIT binary patch literal 3387 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 uv7rXgfUkoC+1!an