Commit Graph

268 Commits

Author SHA1 Message Date
Umut
b71cbc8ecb feat: mimic the exact numpy behavior for matmul 2022-03-08 11:40:57 +03:00
youben11
98bec17050 feat: add convolution extension
extend the current tracing and compilation with convolution, which
should compile to the FHELinalg.conv2d operation from the compiler
2022-03-01 15:16:09 +01:00
Arthur Meyre
19c78e6dad refactor: make float fusing deterministic
- consider having a an OrderedSet class instead of using dicts for it

closes #1438
2022-02-28 12:04:35 +03:00
Umut
4bb5a54d6e fix(compilation): work around slicing limitations 2022-02-18 11:05:46 +03:00
Umut
99f52acd98 feat: add support for numpy.sum and numpy.concatenate 2022-02-17 13:24:22 +03:00
Umut
f88e0dfc89 refactor: remove ml related functionality, small bug fixes 2022-01-19 17:30:06 +03:00
Umut
4b647b108d fix(compilation): use proper variable input constructor during lookup table generation 2022-01-10 16:08:10 +03:00
Arthur Meyre
d8a64f25b8 chore: fix test for matmul correctness
- bit-width could get too high, rename input_range to be clearer on bounds
- fix bounds that seemed to want to use a set number of bits but being off
by one (e.g. 4 -> 3 as 0-3 is the range for a 2 bits integer)

closes #1352
2022-01-10 10:56:23 +01:00
jfrery
4a8c0c3d4d fix: flaky test in 3-FC 2022-01-07 09:43:38 +01:00
Arthur Meyre
e2fc523596 chore: rename package 2022-01-05 14:12:23 +01:00
IceTDrinker
a48f8cb4f1 chore(deps): bump compiler to 2022-01-04T16:08:11Z
- disable PR automerge on compiler update (too risky)
- change init file to be a namespace package
- remove version.py (infos can still be retrieved through package meta)
this avoids potential conflicts with other packages we release
- various fixes for compiler compatibility

closes #1272
2022-01-04 19:18:26 +01:00
Arthur Meyre
e522f22ce8 chore: rename package
- poetry lock required to update package name
- related Makefile and licenses update to keep consistency (will be removed
once the PyPi package is available)
- modified compile_torch_model to only accept datasets with one input
mypy error with better numpy typing hints appeared

closes #1252
2022-01-04 09:12:18 +01:00
Arthur Meyre
11c38efa1e test: add dot tests with non program inputs args
- also fix some inputsets which had wrongly shaped inputs
2021-12-24 17:49:30 +01:00
Arthur Meyre
0af91911c3 fix: accept other comparison functions for the new per cell checks in tests 2021-12-24 16:07:44 +01:00
jfrery
9e938ddfff feat: add missing pieces for relu6 2021-12-24 12:30:14 +01:00
Arthur Meyre
2c8dbce3e0 chore: fix auto-merged PR 2021-12-24 09:43:41 +01:00
IceTDrinker
31ae92a5db chore: test slow compiler
- fix CI scripts for the current compiler releases
- add keycache system
2021-12-23 15:15:22 +01:00
jfrery
65be1b0818 feat: use signed weights in compile_torch_model 2021-12-23 11:24:02 +01:00
Arthur Meyre
2dc070dd4b fix: correct matmul reshapes for 1D cases
- add tests for these cases with non square 2D matrices
2021-12-21 10:39:16 +01:00
Umut
4e6c57766a refactor: improve isclose used in quantization tests 2021-12-20 12:19:06 +03:00
Arthur Meyre
31a3bdcf2e fix: allow signed matmuls
closes #957
2021-12-20 09:32:27 +01:00
Arthur Meyre
94b9d83cbb feat: support 1D vectors in MatMul
closes #948
2021-12-15 09:47:50 +01:00
Umut
c8ec2a2340 feat(mlir): implement mlir conversion of reshape and flatten 2021-12-14 12:54:24 +03:00
Arthur Meyre
987f67b64c chore: fix test for dot with signed constants
closes #1123
2021-12-08 19:17:10 +01:00
Umut
cad7d67e22 feat(mlir): implement MLIR conversion for clear @ encrypted 2021-12-08 17:49:12 +03:00
Arthur Meyre
a9a8cdb223 feat: easily print and draw NPFHECompiler underlying OPGraph
closes #1075
2021-12-06 16:17:52 +01:00
Umut
5aad8c50ac test: create check_array_equality fixture 2021-12-06 16:44:32 +03:00
Arthur Meyre
a0c26315ea chore: make check_is_good_execution a fixture and fix flaky tests using it
closes #1061
2021-12-03 17:43:11 +01:00
Umut
222635200b feat(tracing): add shape property to base tracer 2021-12-03 15:08:12 +03:00
Arthur Meyre
500d46a552 chore: disable flaky test 2021-12-03 12:10:08 +01:00
Arthur Meyre
c7255dfd66 feat: update compile_torch_model to return compiled quantized module
closes #898
2021-12-03 10:32:04 +01:00
jfrery
bf70396340 fix: increase the input data range to fix error when only one weight per layer 2021-12-03 09:24:00 +01:00
Arthur Meyre
48aaed9ee8 refactor: disallow tuple input in inputset for 1-input functions
- handle the case properly once we add tuple support in #772

closes #971
2021-12-02 11:59:42 +01:00
jfrery
54c0bc6e87 test: disable flaky tests 2021-12-01 10:48:41 +01:00
Umut
1b5785e058 feat(extensions): add and test support for negative direct table lookups 2021-12-01 12:09:10 +03:00
Arthur Meyre
8b0a793cda feat: create torch-like API part deux
- add function to get the FHECircuit

closes #233
2021-12-01 09:36:47 +01:00
Benoit Chevallier-Mames
edefde9189 feat: adding a compile_torch_model function
refs #898
2021-11-30 16:24:21 +01:00
Arthur Meyre
e111891a41 test: more signed TLUs cases
closes #1014
2021-11-30 11:45:15 +01:00
jfrery
1625475897 feat: end-to-end compilation of a torch model 2021-11-30 11:30:13 +01:00
Arthur Meyre
13b9ff96f0 feat: create torch-like APIs part 1
- work on generating OPGraph with a torch-like API

refs #233
2021-11-30 11:06:46 +01:00
Umut
ac74e94e13 feat(mlir): implement mlir conversion of constant indexing 2021-11-30 12:40:34 +03:00
Umut
926597c3f6 feat(debugging): implement printing subgraphs within the graph during printing 2021-11-30 12:40:23 +03:00
jfrery
dfc762c2e2 feat: add QuantizedReLU6 as a supported activation function 2021-11-26 16:55:52 +01:00
Arthur Meyre
f53d374d1f feat: support TLUs with signed input
- this is done with an absolute ugly hack

closes #923
refs #1001
2021-11-25 12:01:40 +01:00
Benoit Chevallier-Mames
39b168dfd5 fix: fix issues for certain form of functions
Table which was created contained too large values, for cells which were never accessed
closes #949
2021-11-24 17:14:59 +01:00
Benoit Chevallier-Mames
33064efc06 chore: fix flaky tests
closes #997
2021-11-24 09:48:02 +01:00
Benoit Chevallier-Mames
ec396effb2 chore: seed torch as much as possible
closes #877
2021-11-24 09:47:37 +01:00
Arthur Meyre
60d8079303 feat: add clip support
closes #965
closes #983
closes #984
2021-11-23 17:08:24 +01:00
Arthur Meyre
f1ed07d580 refactor(tracing): add generic tracing functions for generic functions
- remove nearly duplicated code when tracing GenericFunction for unary and
binary operators

refs #965
2021-11-23 13:55:37 +01:00
Arthur Meyre
ba6207e71e refactor: remove workaround for scalar and tensors operations in tests
- add Float16 for ldexp which sometimes returns float16 in numpy

closes #908
2021-11-23 12:25:53 +01:00