profile
viewpoint

Garvys/rustfst 58

Rust re-implementation of OpenFST - library for constructing, combining, optimizing, and searching weighted finite-state transducers (FSTs).

kali/dazone 20

BigData/Rust experimentation. http://www.poumeyrol.fr/2016/01/15/Awkward-zone/

kali/chef-deploy 7

Chef Resources and Providers for deploying ruby web apps without capistrano

kali/hue.rs 7

Rust library for Philips Hue lights

kali/lackr 5

Fotonauts high speed front-side HTTP proxy server

kali/blis-rs 4

Rust bindings for Blis BLAS

kali/leafheap 2

Logstash compatible feeder (multi-redis to Elasticsearch). Tailored for our usage at fotopedia

kali/extropy 1

painless denormalization for MongoDB

push eventsonos/tract

Mathieu Poumeyrol

commit sha a330ce0b735040a980c8b1f04850999672bf07cf

struggle with lock and build scripts

view details

push time in 7 hours

delete branch sonos/tract

delete branch : lut-ub

delete time in 8 hours

push eventsonos/tract

Mathieu Poumeyrol

commit sha 3ae29d9438be8ad1ed9062bf34222a73b3b9444b

lut table can actually be shorter than 256

view details

Mathieu Poumeyrol

commit sha 4499e585be68bfa686391e0fdbd3665af2a879d6

add shape/len assertions in Tensor::from_raw

view details

push time in 8 hours

PR merged sonos/tract

Lut ub
+22 -8

1 comment

2 changed files

kali

pr closed time in 8 hours

pull request commentsonos/tract

Lut ub

FYI, @acrrd I introduced a regression in the lookup table (in the changed commited under the previously failling rebase), and I noticed you were using it.

kali

comment created time in 14 hours

push eventsonos/tract

Mathieu Poumeyrol

commit sha 8795b8c86eec99557320234bddd1c8fbf3a19252

lut table can actually be shorter than 256

view details

Mathieu Poumeyrol

commit sha 9dfc5b5118957bdccf3be02d4479849f509a8ea0

add shape/len assertions in Tensor::from_raw

view details

push time in 14 hours

push eventsonos/tract

Mathieu Poumeyrol

commit sha 219241a331bc1beb70bf09e3b102c0b3fc511fdd

lock

view details

push time in 15 hours

push eventsonos/tract

push time in 15 hours

push eventsonos/tract

Mathieu Poumeyrol

commit sha 3d5584c9cd957c50da62b4f7fabdbfc4fc535363

log some info in nodes

view details

push time in 15 hours

PR opened sonos/tract

Save disk space ci
+48 -33

0 comment

10 changed files

pr created time in 16 hours

PR opened sonos/tract

Lut ub
+41 -21

0 comment

9 changed files

pr created time in 16 hours

push eventsonos/tract

Mathieu Poumeyrol

commit sha 34d9f7528e96ed0699ef932903021893bddee6d2

fix again ci (?)

view details

push time in 16 hours

push eventsonos/tract

Mathieu Poumeyrol

commit sha 467dc755f1ea77b4b884ac701c6192a69c32c334

add cpuinfo and ip a to logs

view details

push time in 17 hours

create barnchsonos/tract

branch : lut-ub

created branch time in 17 hours

push eventsonos/tract

push time in 18 hours

create barnchsonos/tract

branch : save-disk-space-ci

created branch time in 18 hours

push eventsonos/tract

Mathieu Poumeyrol

commit sha b8bad3a1ecb218a6ef9bd0c0cb28d9c523c4e10f

move cache away

view details

push time in 2 days

push eventkali/tractjs

Mathieu Poumeyrol

commit sha 348c7b59de7864d63a4cdbaf8984794492977932

Update README.md

view details

push time in 2 days

fork kali/tractjs

Run ONNX and TensorFlow inference in the browser.

https://bminixhofer.github.io/tractjs

fork in 2 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 847c51be301f10812443c1e68182df35c38d21b3

disable deepspeech bench for now

view details

push time in 2 days

CommitCommentEvent

push eventsonos/tract

Mathieu Poumeyrol

commit sha 9ad203382adf414dd900b3a8a4220522889986cf

remove some cache

view details

push time in 2 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha bb09dc896c22bb3833d16e6094ad531215fc0175

deal with no_mangle warning

view details

push time in 2 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 18d4992406f1a2ea3c22ddb61f748c689c49f59e

debug ci

view details

push time in 2 days

pull request commentbminixhofer/tractjs

Support for symbolic dims

LGTM. Good idea to keep it on the explicit side of things while I'm slowly sorting out what have to be done at the lower levels.

bminixhofer

comment created time in 2 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 8999135c395c157bbbb0d2625875612ac84372d3

ci fix

view details

push time in 3 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 6c6d3b33d08282ffbb8196d5459b6e00f5f61d7b

save some disk space

view details

push time in 3 days

issue commentsonos/tract

Very slow declutter in Debug mode

All right, I think this one is the killer. I have feature gated a lot of assertions that are indeed too costly and irrelevant in day to day usage .

kali

comment created time in 3 days

pull request commentsonos/tract

less assertions on regular debug

Should help with #377

kali

comment created time in 3 days

PR opened sonos/tract

less assertions on regular debug
+16 -13

0 comment

6 changed files

pr created time in 3 days

create barnchsonos/tract

branch : introduce-paranoid-assertions

created branch time in 3 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha e4bb51fc7331e0bfff0052625a16f2553cc96e3e

post rebase/merge fixes :/

view details

push time in 3 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha c352c96a0e3b713f441046b8074ebe3d34ef627a

changelog

view details

push time in 3 days

push eventsonos/tract

Andrea Corradi

commit sha 3a068b22f806a86916a83a888415eb9b4fab3816

Implement DynamicQuantizeLinear

view details

Andrea Corradi

commit sha 51ea71ba0ca3ccd4f6b0e316ff161aa7e2b9c1d9

Move DynamicQuantizeLinearU8 to onnx

view details

push time in 3 days

PR merged sonos/tract

Implement DynamicQuantizeLinear

This PR implement the onnx operator DynamicQuantizeLinear. I could not reuse quantize_linear_u8 because it does x * scale.recip() instead of x / scale, This change some number enough to be rounded to another integer and the onnx testsuite fails.

Is not currently possible to implement it using the operations already provided (like is done in the dynamicquantizelinear_expanded test) because not all needed operations are TypedOp and in particular QuantizeLinear expect the zero point and the scale to be constant tensor.

Close #380

+217 -0

0 comment

3 changed files

acrrd

pr closed time in 3 days

issue closedsonos/tract

Implement DynamicQuantizeLinear

Implement the onnx operator DynamicQuantizeLinear. https://github.com/onnx/onnx/blob/master/docs/Operators.md#DynamicQuantizeLinear.

closed time in 3 days

acrrd
PullRequestReviewEvent

Pull request review commentsonos/tract

Implement DynamicQuantizeLinear

 fn info_quantize_linear_i8(q: &QuantizeLinearI8) -> TractResult<Vec<String>> {     )]) } +fn dynamic_quantize_linear_f32_u8(x: f32, scale: f32, zero_point: u8) -> u8 {+    (((x / scale).round() as i32) + zero_point as i32)+        .max(u8::min_value() as i32)+        .min(u8::max_value() as i32) as u8+}++fn dynamic_quantize_linear_u8(scale: f32, zero_point: u8, xs: &[f32], ys: &mut [u8]) {+    xs.iter()+        .zip(ys.iter_mut())+        .for_each(|(x, y)| *y = dynamic_quantize_linear_f32_u8(*x, scale, zero_point));+}++fn scale_and_zero_point<'a>(v: ArrayViewD<'a, f32>) -> (f32, u8) {+    // get the min and max of v and extend it to have zero included+    // in the interval [min, max]+    let (min, max) = v.fold((0., 0.), |(a_min, a_max), &v| {+        if v < a_min {+            (v, a_max)+        } else if v > a_max {+            (a_min, v)+        } else {+            (a_min, a_max)+        }+    });++    // quantize range+    let min_t = u8::min_value() as f32;+    let max_t = u8::max_value() as f32;++    let scale = (max - min) / max_t;++    let zero_point = -min / scale;+    let zero_point = zero_point.round();+    // clipping to [0, 255]+    let zero_point = zero_point.max(min_t);+    let zero_point = zero_point.min(max_t);++    let zero_point: u8 = zero_point as u8;++    (scale, zero_point)+}++#[derive(Clone, Debug, new, Hash)]+pub struct DynamicQuantizeLinearU8;++impl Op for DynamicQuantizeLinearU8 {+    fn name(&self) -> Cow<str> {+        "DynamicQuantizeLinearU8".into()+    }++    fn info(&self) -> TractResult<Vec<String>> {+        Ok(vec![])+    }++    fn validation(&self) -> Validation {+        Validation::Accurate+    }++    op_core_mir!();+    op_as_typed_op!();+}++tract_linalg::impl_dyn_hash!(DynamicQuantizeLinearU8);++impl EvalOp for DynamicQuantizeLinearU8 {+    fn is_stateless(&self) -> bool {+        true+    }+    fn eval(&self, inputs: TVec<Arc<Tensor>>) -> TractResult<TVec<Arc<Tensor>>> {+        let input = &inputs[0];+        let a_input = input.to_array_view::<f32>()?;+        let (scale, zero_point) = scale_and_zero_point(a_input);++        let mut dst = unsafe { Tensor::uninitialized_dt(u8::datum_type(), input.shape())? };+        // We cannot use quantize_linear_u8 here because it does `x * scale.recip()`+        // instead of `x / scale`. This change some number enough to be rounded to another integer.+        dynamic_quantize_linear_u8(+            scale,+            zero_point,+            input.as_slice::<f32>()?,+            dst.as_slice_mut::<u8>()?,+        );++        let quantized_tensor = dst.into_arc_tensor();+        let scale_tensor = rctensor0(scale);+        let zero_point_tensor = rctensor0(zero_point);++        Ok(tvec!(quantized_tensor, scale_tensor, zero_point_tensor))+    }+}++impl TypedOp for DynamicQuantizeLinearU8 {+    fn output_facts(&self, inputs: &[&TypedFact]) -> TractResult<TVec<TypedFact>> {+        let mut quantized_fact = inputs[0].clone();+        quantized_fact.datum_type = u8::datum_type();+        let shape = ShapeFact::from_dims(&[])?;+        let scale_fact = TypedFact::dt_shape(f32::datum_type(), shape.clone())?;

All right, thanks for trying 👍

acrrd

comment created time in 3 days

PullRequestReviewEvent

push eventsonos/tract

Mathieu Poumeyrol

commit sha 4ac4ac8689d1d85599b88232005f97ccdc4d7a38

Update CHANGELOG.md

view details

Mathieu Poumeyrol

commit sha bdc9ce7ed95be2ba632c0adbc409d6de4341dacd

Update CHANGELOG.md

view details

Mathieu Poumeyrol

commit sha 3f3cac4e2b9c9b7c66614de07a50da5337ddd2d6

create data

view details

Mathieu Poumeyrol

commit sha ba3b86d0bc8a8c046916a49657e67b40196354d9

wip

view details

Mathieu Poumeyrol

commit sha edf674ce12959d03627ee34a72169ba522de3a83

wip splitting data

view details

Mathieu Poumeyrol

commit sha a153cb87739e2f2ab7d8b0f204ded283e84745f3

use Tensor instead of Buffer in linalg

view details

Mathieu Poumeyrol

commit sha 81ea66c03a7f6d5a4da8723e6cddf91ee21b21b8

pack struct is no longer generic

view details

Mathieu Poumeyrol

commit sha 9cc80c354ca76488463d776ef1579eabd3bd26cf

wip splitting data away from core

view details

Mathieu Poumeyrol

commit sha c156c50db2c66e2806a029003c3e6f3ebb3ff764

constant of shape early eval

view details

push time in 3 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 3f3cac4e2b9c9b7c66614de07a50da5337ddd2d6

create data

view details

Mathieu Poumeyrol

commit sha ba3b86d0bc8a8c046916a49657e67b40196354d9

wip

view details

Mathieu Poumeyrol

commit sha edf674ce12959d03627ee34a72169ba522de3a83

wip splitting data

view details

Mathieu Poumeyrol

commit sha a153cb87739e2f2ab7d8b0f204ded283e84745f3

use Tensor instead of Buffer in linalg

view details

Mathieu Poumeyrol

commit sha 81ea66c03a7f6d5a4da8723e6cddf91ee21b21b8

pack struct is no longer generic

view details

Mathieu Poumeyrol

commit sha 9cc80c354ca76488463d776ef1579eabd3bd26cf

wip splitting data away from core

view details

push time in 3 days

PR merged sonos/tract

Split data from core
+989 -825

0 comment

150 changed files

kali

pr closed time in 3 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 08da9d6e3748a08cfd15bd07243f356c8f94e0cc

pack struct is no longer generic

view details

Mathieu Poumeyrol

commit sha 803be5e4de48845203adf59c8f30f6b7cb874438

wip splitting data away from core

view details

push time in 3 days

issue commentsonos/tract

Very slow declutter in Debug mode

hey @bminixhofer, do you think we've fixed it ?

kali

comment created time in 3 days

create barnchsonos/tract

branch : fixes-for-383

created branch time in 4 days

issue commentsonos/tract

Multiple symbols and concretize

I'll have a look.

kali

comment created time in 4 days

issue openedsonos/tract

Multiple symbols and concretize

Oh, I just tried adapting the snippet you sent yesterday to also have the batch size as streaming dim:

use tract_core::dim::{Symbol, ToDim};
use tract_onnx::prelude::*;

fn main() -> TractResult<()> {
    let model = tract_onnx::onnx()
        .model_for_path("model.onnx")?
        .with_input_fact(
            0,
            InferenceFact::dt_shape(
                u8::datum_type(),
                tvec!(TDim::from('b'), TDim::from('s') * 2),
            ),
        )?
        .into_optimized()?;

    let optimized_model = model
        .concretize_dims(
            &SymbolValues::default()
                .with('s'.into(), 20)
                .with('b'.into(), 1),
        )?
        .optimize()?
        .into_runnable()?;

    let input: Tensor = tract_ndarray::Array2::<u8>::zeros((1, 40)).into();
    println!("{:#?}", optimized_model.run(tvec!(input))?);

    Ok(())
}

And I get:

    Finished release [optimized] target(s) in 1.75s
     Running `target/release/tractdyn`
thread 'main' panicked at 'Can not work out a data format with two actual symbolic dim', /home/bminixhofer/.cargo/registry/src/github.com-1ecc6299db9ec823/tract-core-0.11.1/src/ops/nn/data_formats.rs:33:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

So it looks like it does not work yet (with this model).

Originally posted by @bminixhofer in https://github.com/sonos/tract/issues/313#issuecomment-713631031

created time in 4 days

issue commentsonos/tract

Optimise nets with symbolic dimension(s)

Also to clarify: I consider the concretize_dims a semi-hack waiting for this issue to be resolved fully: I want to us to be able to call into_optimized() with one or multiple symbolic dimensions, and get a RunnableModel that will accept tensor of any size consistent with the symbols, and be reasonably efficient.

kali

comment created time in 4 days

issue commentsonos/tract

Optimise nets with symbolic dimension(s)

I think it may also work with multiple symbols actually :) Never tried though.

kali

comment created time in 4 days

Pull request review commentsonos/tract

Implement DynamicQuantizeLinear

 use crate::internal::*;

Can we have this op in onnx-opl instead of core ? I'm not 100% about the next stages for quantization (specifically, nnef does things very differently). Maybe we'll end up moving it back to core later on, but I'm reluctant to add opertors in core.

It should be painless. If it's not, ping me, because I need to have a look.

acrrd

comment created time in 4 days

Pull request review commentsonos/tract

Implement DynamicQuantizeLinear

 fn info_quantize_linear_i8(q: &QuantizeLinearI8) -> TractResult<Vec<String>> {     )]) } +fn dynamic_quantize_linear_f32_u8(x: f32, scale: f32, zero_point: u8) -> u8 {+    (((x / scale).round() as i32) + zero_point as i32)+        .max(u8::min_value() as i32)+        .min(u8::max_value() as i32) as u8+}++fn dynamic_quantize_linear_u8(scale: f32, zero_point: u8, xs: &[f32], ys: &mut [u8]) {+    xs.iter()+        .zip(ys.iter_mut())+        .for_each(|(x, y)| *y = dynamic_quantize_linear_f32_u8(*x, scale, zero_point));+}++fn scale_and_zero_point<'a>(v: ArrayViewD<'a, f32>) -> (f32, u8) {+    // get the min and max of v and extend it to have zero included+    // in the interval [min, max]+    let (min, max) = v.fold((0., 0.), |(a_min, a_max), &v| {+        if v < a_min {+            (v, a_max)+        } else if v > a_max {+            (a_min, v)+        } else {+            (a_min, a_max)+        }+    });++    // quantize range+    let min_t = u8::min_value() as f32;+    let max_t = u8::max_value() as f32;++    let scale = (max - min) / max_t;++    let zero_point = -min / scale;+    let zero_point = zero_point.round();+    // clipping to [0, 255]+    let zero_point = zero_point.max(min_t);+    let zero_point = zero_point.min(max_t);++    let zero_point: u8 = zero_point as u8;++    (scale, zero_point)+}++#[derive(Clone, Debug, new, Hash)]+pub struct DynamicQuantizeLinearU8;++impl Op for DynamicQuantizeLinearU8 {+    fn name(&self) -> Cow<str> {+        "DynamicQuantizeLinearU8".into()+    }++    fn info(&self) -> TractResult<Vec<String>> {+        Ok(vec![])+    }++    fn validation(&self) -> Validation {+        Validation::Accurate+    }++    op_core_mir!();+    op_as_typed_op!();+}++tract_linalg::impl_dyn_hash!(DynamicQuantizeLinearU8);++impl EvalOp for DynamicQuantizeLinearU8 {+    fn is_stateless(&self) -> bool {+        true+    }+    fn eval(&self, inputs: TVec<Arc<Tensor>>) -> TractResult<TVec<Arc<Tensor>>> {+        let input = &inputs[0];+        let a_input = input.to_array_view::<f32>()?;+        let (scale, zero_point) = scale_and_zero_point(a_input);++        let mut dst = unsafe { Tensor::uninitialized_dt(u8::datum_type(), input.shape())? };+        // We cannot use quantize_linear_u8 here because it does `x * scale.recip()`+        // instead of `x / scale`. This change some number enough to be rounded to another integer.+        dynamic_quantize_linear_u8(+            scale,+            zero_point,+            input.as_slice::<f32>()?,+            dst.as_slice_mut::<u8>()?,+        );++        let quantized_tensor = dst.into_arc_tensor();+        let scale_tensor = rctensor0(scale);+        let zero_point_tensor = rctensor0(zero_point);++        Ok(tvec!(quantized_tensor, scale_tensor, zero_point_tensor))+    }+}++impl TypedOp for DynamicQuantizeLinearU8 {+    fn output_facts(&self, inputs: &[&TypedFact]) -> TractResult<TVec<TypedFact>> {+        let mut quantized_fact = inputs[0].clone();+        quantized_fact.datum_type = u8::datum_type();+        let shape = ShapeFact::from_dims(&[])?;+        let scale_fact = TypedFact::dt_shape(f32::datum_type(), shape.clone())?;

I haven't tried it, but i think TypedFact::dt_shape(f32::datum_type(), [].as_ref())?; should work

acrrd

comment created time in 4 days

PullRequestReviewEvent
PullRequestReviewEvent

PR opened sonos/tract

Split data from core
+874 -686

0 comment

145 changed files

pr created time in 4 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 83a13517166d7e264232bc0581eb9c9a5bbec356

use Tensor instead of Buffer in linalg

view details

push time in 4 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha bdc9ce7ed95be2ba632c0adbc409d6de4341dacd

Update CHANGELOG.md

view details

push time in 4 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 4ac4ac8689d1d85599b88232005f97ccdc4d7a38

Update CHANGELOG.md

view details

push time in 4 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 0e6614351f7cf23cea5d2293c3ba6807c56b26f4

use built-in error reporting

view details

Jan Petsche

commit sha 62d1d3406923480e3ae6247e33e8ef0534ccbed3

add ios to fma matmul

view details

Mathieu Poumeyrol

commit sha 2a5c934c380a0eef91b02b3ddc6100e55097a936

trivial gather as slice

view details

Mathieu Poumeyrol

commit sha 6e7a3ea5be426a8f68556686f387774eedb36e28

fix for negative indexing

view details

Mathieu Poumeyrol

commit sha 38181b93a85bd72168594b63ce355219dbb25f4d

log change

view details

Mathieu Poumeyrol

commit sha fb736162fa272424bb2017726dfa0eb3598413f7

fix error chaining

view details

Mathieu Poumeyrol

commit sha 102228a49daa490a345107986030aacab980089e

improve error reporting

view details

Mathieu Poumeyrol

commit sha 3698cce3730d3e4d97ec723cb524d5b86dfd7d3c

parsing simple expr (2S) in cli

view details

Mathieu Poumeyrol

commit sha 82a2c3cc4d6d1fe2ee9c7abda3d9547f1b3212d8

reshape needs a concretize_dims method, API improvments

view details

Mathieu Poumeyrol

commit sha 8ad8a0d9d69b3dafefa68f733bf45cebc69781f6

play with OutletMap impl

view details

Mathieu Poumeyrol

commit sha e361da06650feffcaa2fac6d33b28d4be62b4406

no longer start from 0 on node optim passes

view details

Mathieu Poumeyrol

commit sha 02c47f2a81377de350067a9b45e5d8e0d226e8c8

cleanup, compat, fmt

view details

Mathieu Poumeyrol

commit sha 5722b0d3e1d7b020d1dfbb75e5b7b939f70a0da7

reset over every pass

view details

Mathieu Poumeyrol

commit sha fb64c2dd0399dfbf52fb54996234bfcdfbd25506

release 0.11.1

view details

Mathieu Poumeyrol

commit sha 555bd552d009b9b2625f6e3643a66376c0e9d9a9

post-release 0.11.2-pre

view details

Mathieu Poumeyrol

commit sha 7b2ab73bc45d7e727961adaa9979bd2c5c1e81c8

create data

view details

Mathieu Poumeyrol

commit sha 2170670de07c277cd3a158bace06ab13bcd56f20

wip

view details

Mathieu Poumeyrol

commit sha 12daae689efa087e45373e1dd978e03b3d889722

wip splitting data

view details

push time in 4 days

created tagsonos/tract

tag0.11.1

Tiny, no-nonsense, self-contained, Tensorflow and ONNX inference

created time in 5 days

release sonos/tract

0.11.1

released time in 5 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha fb64c2dd0399dfbf52fb54996234bfcdfbd25506

release 0.11.1

view details

Mathieu Poumeyrol

commit sha 555bd552d009b9b2625f6e3643a66376c0e9d9a9

post-release 0.11.2-pre

view details

push time in 5 days

created tagsonos/tract

tagv0.11.1

Tiny, no-nonsense, self-contained, Tensorflow and ONNX inference

created time in 5 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 8ad8a0d9d69b3dafefa68f733bf45cebc69781f6

play with OutletMap impl

view details

Mathieu Poumeyrol

commit sha e361da06650feffcaa2fac6d33b28d4be62b4406

no longer start from 0 on node optim passes

view details

Mathieu Poumeyrol

commit sha 02c47f2a81377de350067a9b45e5d8e0d226e8c8

cleanup, compat, fmt

view details

Mathieu Poumeyrol

commit sha 5722b0d3e1d7b020d1dfbb75e5b7b939f70a0da7

reset over every pass

view details

push time in 5 days

PR merged sonos/tract

Play with outletmap

should help #377

+140 -29

0 comment

3 changed files

kali

pr closed time in 5 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 4af45ec7d409c6966e499164c6f4c421a6f77148

get rid of a warning

view details

Mathieu Poumeyrol

commit sha b107c9dbfe931ea4463d766e17d19f360e55d471

save disk space on gha

view details

Mathieu Poumeyrol

commit sha eec29e838d6cc6412b9dcaaa4ca54312ac241469

try another combo

view details

Mathieu Poumeyrol

commit sha 6ab8395c500faa94e39ab6919a67f6255ff67ef0

ban error chain from core

view details

Mathieu Poumeyrol

commit sha 4536c6ad1bf3b189a24dca65e9baf17926e26895

switch cli to anyhow

view details

Mathieu Poumeyrol

commit sha a0f68d93cd5bce9b10b0cab216a29036c23956e4

log

view details

Mathieu Poumeyrol

commit sha 0e6614351f7cf23cea5d2293c3ba6807c56b26f4

use built-in error reporting

view details

Jan Petsche

commit sha 62d1d3406923480e3ae6247e33e8ef0534ccbed3

add ios to fma matmul

view details

Mathieu Poumeyrol

commit sha 2a5c934c380a0eef91b02b3ddc6100e55097a936

trivial gather as slice

view details

Mathieu Poumeyrol

commit sha 6e7a3ea5be426a8f68556686f387774eedb36e28

fix for negative indexing

view details

Mathieu Poumeyrol

commit sha 38181b93a85bd72168594b63ce355219dbb25f4d

log change

view details

Mathieu Poumeyrol

commit sha fb736162fa272424bb2017726dfa0eb3598413f7

fix error chaining

view details

Mathieu Poumeyrol

commit sha 102228a49daa490a345107986030aacab980089e

improve error reporting

view details

Mathieu Poumeyrol

commit sha 3698cce3730d3e4d97ec723cb524d5b86dfd7d3c

parsing simple expr (2S) in cli

view details

Mathieu Poumeyrol

commit sha 82a2c3cc4d6d1fe2ee9c7abda3d9547f1b3212d8

reshape needs a concretize_dims method, API improvments

view details

Mathieu Poumeyrol

commit sha f01d9bdbba0a76f8bc5f9909a21940047874932f

play with OutletMap impl

view details

Mathieu Poumeyrol

commit sha 1cb8ca65c69fcd39fda578ad0d0c2ceeb62a76ab

no longer start from 0 on node optim passes

view details

Mathieu Poumeyrol

commit sha 66a49a4a1e421e7f36c525c1e91cc43081d4a24e

cleanup, compat, fmt

view details

Mathieu Poumeyrol

commit sha 3a3db593c210922ba699981bf6a33ac7964dcc1a

reset over every pass

view details

push time in 5 days

delete branch sonos/tract

delete branch : fixes-for-374

delete time in 5 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha fb736162fa272424bb2017726dfa0eb3598413f7

fix error chaining

view details

Mathieu Poumeyrol

commit sha 102228a49daa490a345107986030aacab980089e

improve error reporting

view details

Mathieu Poumeyrol

commit sha 3698cce3730d3e4d97ec723cb524d5b86dfd7d3c

parsing simple expr (2S) in cli

view details

Mathieu Poumeyrol

commit sha 82a2c3cc4d6d1fe2ee9c7abda3d9547f1b3212d8

reshape needs a concretize_dims method, API improvments

view details

push time in 5 days

PR merged sonos/tract

Fixes for 374
+198 -69

1 comment

15 changed files

kali

pr closed time in 5 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 1b030bc583f10d46903fb78fc1a6e53ca0e426e3

reset over every pass

view details

push time in 5 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha aa726369c06fae8895763006b1c1c64332e5fe12

cleanup, compat, fmt

view details

push time in 5 days

PR opened sonos/tract

Play with outletmap

should help #377

+131 -27

0 comment

2 changed files

pr created time in 5 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha fb833e02b5dd74960f48a4257f10cb0c08f89554

no longer start from 0 on node optim passes

view details

push time in 5 days

push eventsonos/tract

Jan Petsche

commit sha 62d1d3406923480e3ae6247e33e8ef0534ccbed3

add ios to fma matmul

view details

Mathieu Poumeyrol

commit sha 2a5c934c380a0eef91b02b3ddc6100e55097a936

trivial gather as slice

view details

Mathieu Poumeyrol

commit sha 6e7a3ea5be426a8f68556686f387774eedb36e28

fix for negative indexing

view details

Mathieu Poumeyrol

commit sha 38181b93a85bd72168594b63ce355219dbb25f4d

log change

view details

Mathieu Poumeyrol

commit sha 65945e26ff8527557f711320af09a1a3783a19d8

fix error chaining

view details

Mathieu Poumeyrol

commit sha f4a39af1ee1675d23947e647e2cdcf1d03c85376

improve error reporting

view details

Mathieu Poumeyrol

commit sha 4e78d161e4f1379374807092355d3ce68bde4a7e

parsing simple expr (2S) in cli

view details

Mathieu Poumeyrol

commit sha 51d3f4327045609b304f31c1338425284717ae74

reshape needs a concretize_dims method, API improvments

view details

push time in 5 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 2a5c934c380a0eef91b02b3ddc6100e55097a936

trivial gather as slice

view details

Mathieu Poumeyrol

commit sha 6e7a3ea5be426a8f68556686f387774eedb36e28

fix for negative indexing

view details

Mathieu Poumeyrol

commit sha 38181b93a85bd72168594b63ce355219dbb25f4d

log change

view details

push time in 5 days

PR merged sonos/tract

trivial gather as slice
+35 -0

0 comment

2 changed files

kali

pr closed time in 5 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha f12a5a9f8c130f0f8e52b911eeddc4b2f706dcc1

log change

view details

push time in 5 days

issue commentsonos/tract

Reshape with streaming dimension

Here we go. Got it to work like that (against the branch #375).

use tract_core::dim::{Symbol, ToDim};
use tract_onnx::prelude::*;

fn main() -> TractResult<()> {
    let model = tract_onnx::onnx()
        .model_for_path("model.onnx")?
        .with_input_fact(
            0,
            InferenceFact::dt_shape(u8::datum_type(), tvec!(1.to_dim(), TDim::from('s') * 2)),
        )?
        .into_optimized()?;

    let optimized_model = model
        .concretize_dims(&SymbolValues::default().with('s'.into(), 20))?
        .optimize()?
        .into_runnable()?;

    let input: Tensor = tract_ndarray::Array2::<u8>::zeros((1, 40)).into();
    println!("{:#?}", optimized_model.run(tvec!(input))?);

    Ok(())
}

A few note: be careful not to use Symbol::new, because it creates a new symbol each time, regardless of the character you provides. I have added a Symbol::from(char) that acts more like you were expecting (retrieve or else create).

bminixhofer

comment created time in 5 days

pull request commentsonos/tract

Fixes for 374

fix #374

kali

comment created time in 5 days

PR opened sonos/tract

Fixes for 374
+198 -69

0 comment

15 changed files

pr created time in 5 days

create barnchsonos/tract

branch : fixes-for-374

created branch time in 5 days

issue commentsonos/tract

Reshape with streaming dimension

I would like to support Deconvolution, not having it is getting problematic in more and more situations as time goes by, so this is probably going to happen. That said I'm going to give a shot a making Reshape work with something like "2S", as this is linked to the generalization of the symbolic dimensions.

bminixhofer

comment created time in 5 days

pull request commentsonos/tract

add ios to fma matmul

Thanks! release should come later today.

janpetschexain

comment created time in 5 days

push eventsonos/tract

Jan Petsche

commit sha 62d1d3406923480e3ae6247e33e8ef0534ccbed3

add ios to fma matmul

view details

push time in 5 days

PR merged sonos/tract

add ios to fma matmul

We encountered an error while compiling tract-onnx for --target x86_64-apple-ios due to hard-coded os checks in some .tmpl files of tract-linalg.

error: linking with `cc` failed: exit code: 1
  = note: Undefined symbols for architecture x86_64:
            "_fma_mmm_i8_8x8", referenced from: ...
            "_fma_mmm_f32_16x6", referenced from: ...
          ld: symbol(s) not found for architecture x86_64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

This pr fixes the issue for the given target, it might still occur for other targets.

+2 -2

0 comment

2 changed files

janpetschexain

pr closed time in 5 days

issue openedsonos/tract

Very slow declutter in Debug mode

See #374 part 2.

created time in 6 days

issue commentsonos/tract

Reshape with streaming dimension

1/ We have models where we downsample before the LSTM, but we don't have Reshape in them. One way could be to allow inputs to use shapes like 1,2s. I'll be pondering this. 2/ Mmm... this code actually does decluttering as part of into_optimized(). I noticed that debug builds where slower than they used to be, but that's not something I track. But it's now a bit inpractical. Let's make it a separate issue.

bminixhofer

comment created time in 6 days

issue commentsonos/tract

Reshape with streaming dimension

1/ Reshape is actually quite complex, and the symbolic dimensions do not help. In this particular case, tract is asked to reshape a tensor of shape 1,S/2,4 to (-1),S,2 . (-1 means "compute the missing dimension so that it makes sense", and the slash sign is integer division, there is a convolution of stride 2 at the beginning of the net.) It looks quite alright, but looking closely, it only works if S is even (try to substitute S<-3). Let me think a bit about how to deal with this :) 2/ do you mean that the decluttering of this net is slower than it use to be ? It may very well be, i will need to track this metrics somehow... I can have a look.

bminixhofer

comment created time in 6 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 0e6614351f7cf23cea5d2293c3ba6807c56b26f4

use built-in error reporting

view details

push time in 6 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 34c708ebe5f923eda4797b71004b783889610824

fix for negative indexing

view details

push time in 6 days

create barnchsonos/tract

branch : split-data-from-core

created branch time in 6 days

PR opened sonos/tract

trivial gather as slice
+31 -0

0 comment

1 changed file

pr created time in 6 days

create barnchsonos/tract

branch : bugfix-gather-as-slice

created branch time in 6 days

issue closedkali/hue.rs

Publish release that works with white ambiance lights

I have a number of Hue lights with only white ambiance. The latest released version, 0.39, does not work with those, because the API does not include a hue attribute (and possibly others) in the listing of lights.

I've tested the latest version from git, and it seems to work nicely, thanks to PR #5. It would be really nice if this could be released to crates.io. Thanks :-)

closed time in 8 days

jodal

issue commentkali/hue.rs

Publish release that works with white ambiance lights

Of course ! Done. :)

jodal

comment created time in 8 days

created tagkali/hue.rs

tagv0.3.10

Rust library for Philips Hue lights

created time in 8 days

push eventkali/hue.rs

Mathieu Poumeyrol

commit sha b9255882374e0bcfb8dca2dcfcd59b51b1b842c7

(cargo-release) version 0.3.10

view details

Mathieu Poumeyrol

commit sha 4f1b98a22184f50506da8e80202af6ccac47163c

(cargo-release) start next development iteration 0.3.10

view details

push time in 8 days

push eventsonos/tract

Mathieu Poumeyrol

commit sha 6ab8395c500faa94e39ab6919a67f6255ff67ef0

ban error chain from core

view details

Mathieu Poumeyrol

commit sha 4536c6ad1bf3b189a24dca65e9baf17926e26895

switch cli to anyhow

view details

Mathieu Poumeyrol

commit sha a0f68d93cd5bce9b10b0cab216a29036c23956e4

log

view details

push time in 9 days

PR merged sonos/tract

ban error chain from core
+373 -381

0 comment

100 changed files

kali

pr closed time in 9 days

created tagsonos/dinghy

tag0.4.41

Easier cross-compilation for phones and single boards computers

created time in 9 days

release sonos/dinghy

0.4.41

released time in 9 days

more