training SSF2020 model with quality 8

Bug
I have been trying to train ssf2020 model with vimeo90k dataset with quality 8 to compare it with the tests reported in tests folder. but i am not getting comparable results for it.
Results I'm getting

To Reproduce

change the file examples/train_video.py
net = video_models[args.model](quality=8)
and
 train_dataset.max_frames = 8 test_dataset.max_frames = 8
now train this model with command
python3 examples/train_video.py -d '/data/maryam.sana/vimeo_septuplet/'  --cuda

Can you please tell me what should be done to train a quality 8 model correctly? what changes do I have to make?

is your problem specific to that operation point (quality=8)?


Add API documentation generation option using CMinx

Is this pull request associated with an issue(s)?
CMakePPLang issue 39
Description
This PR adds the ability to generate API documentation using CMinx when invoking the deploy_docs_master.yaml reusable workflow.

@ryanmrichard As best I could, I replicated this workflow in CMakePPLang and it was able to run on my local machine with act (mostly... there was some issue with Sphinx that I think act caused). It seems like it will work.


updated torbrowser (5.5.2)

Thank you for the contribution. It was merged directly as 9ecbe782faa40c1cd92e56146f201da0c7181750 to keep commit history cleaner. Your contribution is still credited to you.


Please share the results publically

Hello, are the results out? If yes, can you please share the results publicly? Ideally, something like https://ann-benchmarks.com/ graphs would be great.
Thanks!

Raw data and graphs would be even better!

Added plots for NeurIPS'23. Will add plots for NeurIPS'21 as well.


Fix hash in cpu-z

@r15ch13 Would you prefer hash/url fixes in one commit, or one per app?

For users to track changes, single commits might be better. But I don't mind which way you choose to commit these changes. 😄


[Credentials] Doesn't rerender after updating text prop

The component doesn't rerender after updating the text prop.
The buggy behaviour comes from here: https://github.com/web3ui/web3uikit/blob/257363fa3cabbcd1bd481f250cabf483e1376800/src/components/Credentials/components/TruncateString.tsx#L98

Storybook Demo: https://web3ui.github.io/web3uikit/?path=/story/2-forms-credentials--with-title-and-icon

Nice catch, will raise a PR soon 🙌🏻


New AppBuilder API

@MartinKavik @David-OConnor I'm starting to get half a mind to move the Init from build to run or something similar to isolate all the side effects inside of run instead of distributing the stateful effects across finish and run.
I think that this is better since we do this weird dance around initial_orders right now where we don't quite have the correct state to do what we have half the state we want inside Builder and half the state inside the App.
So we would have
App::build(update, view).finish().run_with_init(|_, _| {
    // Do things with url + orders.
    // `Init::default` is a wrapper for `Init::new(Model::default())`.
    Init::default()
})

or
App::build(update, view).finish().run() // Calls `Init::default` by default.

It's a bit of a departure from what we currently have, but I think that it makes the implementation a little less weird and the usage clearer about when exactly the InitFn happens (since it seems to run half in finish and half in run right now).
Personally, I also think that mount should also be inside Init since we might want to mount it to a different place depending on the initial route, but we seem to keep that around forever, so I changed my mind. Point is, there are parts of AppCfg that are not immutable, and I would like to change that.
The downsides, I think, are also fairly obvious in that it's a breaking change, and so on. Also, the model is now provided in the run method instead of the build method, which is also... unique, so to speak.
I haven't seen if the types work out yet, but it seems reasonable to me.
Originally posted by @AlterionX in https://github.com/David-OConnor/seed/pull/235#issuecomment-542944604

isolate all the side effects inside of run instead of distributing the stateful effects across finish and run

There are more hidden side-effects in AppBuilder's methods - see e.g. mount.

App::build(update, view).finish().run()

App::build(update, view).run() would be even nicer.
I'm not sure if compiler allows you to write ::default() function, because implementation of Default trait for Model is optional.

It's a bit of a departure from what we currently have, but I think that it makes the implementation a little less weird and the usage clearer about when exactly the InitFn happens (since it seems to run half in finish and half in run right now).

I agree. I've added init as the part of the bigger PR (https://github.com/David-OConnor/seed/pull/189). AppBuilder code wasn't super clean before this change and I've made it worse as a trade-off for fewer breaking changes.

mount it to a different place depending on the initial route

Interesting. Do you have a real-world use-case?

So I basically agree that builder API can be improved and I've created this issue so we can design it properly. Implementation details can be discussed in original PR (https://github.com/David-OConnor/seed/pull/235).

Inspiration from other frameworks:

Yew
Link
impl Component for Model {
    // Some details omitted. Explore the examples to see more.

    type Message = Msg;
    type Properties = ();

    fn create(_: Self::Properties, _: ComponentLink<Self>) -> Self {
        Model { }
    }

    fn update(&mut self, msg: Self::Message) -> ShouldRender {
        match msg {
            Msg::DoIt => {
                // Update your model on events
                true
            }
        }
    }

    fn view(&self) -> Html<Self> {
        html! {
            // Render your model here
            <button onclick=|_| Msg::DoIt>{ "Click me!" }</button>
        }
    }
}

fn main() {
    yew::start_app::<Model>();
}

Percy
Link
#[wasm_bindgen]
impl App {
    #[wasm_bindgen(constructor)]
    pub fn new () -> App {
        let start_view = html! {
 Hello
 };

        let window = web_sys::window().unwrap();
        let document = window.document().unwrap();
        let body = document.body().unwrap();

        let mut dom_updater = DomUpdater::new_append_to_mount(start_view, &body);

        let greetings = "Hello, World!";

        let end_view = html! {
           // Use regular Rust comments within your html

              /* Interpolate values using braces */
              { greetings }

              <button
                class=MY_COMPONENT_CSS
                onclick=|_event: MouseEvent| {
                   web_sys::console::log_1(&"Button Clicked!".into());
                }
              >
                // No need to wrap text in quotation marks (:
                Click me and check your console
              </button>

        };

        dom_updater.update(end_view);

        App { dom_updater }
    }
}

Draco
Link
struct HelloWorld;

// A Draco application must implement the `draco::App` trait.
impl draco::App for HelloWorld {
    // `Message` is the type of value our HTML will emit.
    // Here we aren't emitting anything so we use the unit type.
    // You can put any type here and this example will still compile.
    type Message = ();

    // The `view` function returns what we want to display on the page.
    fn view(&self) -> draco::Node<Self::Message> {
        // `draco::html::h1()` creates an `<h1>` element.
        draco::html::h1()
            // `.push()` adds a child to the element. Here we add a Text Node by pushing a string.
            .push("Hello, world!")
            // We use `.into()` to convert an `Element` struct to a `Node` struct which this
            // function must return.
            .into()
    }
}

#[wasm_bindgen(start)]
pub fn start() {
    // We select the first element on the page matching the CSS selector `main` and start the
    // application on it.
    draco::start(HelloWorld, draco::select("main").expect("").into());
}

Smithy
Link
#[wasm_bindgen(start)]
pub fn start() -> Result<(), wasm_bindgen::JsValue> {
  let root_element = get_root_element()?;
  let mut count = 0;
  let app = smithy::smd!(

      I have been clicked {count}{' '}times.

  );
  smithy::mount(Box::new(app), root_element);
  Ok(())
}

fn get_root_element() -> Result<web_sys::Element, wasm_bindgen::JsValue> {
  let document = web_sys::window().unwrap().document().unwrap();
  document.get_element_by_id("app")
    .ok_or(wasm_bindgen::JsValue::NULL)
}

Squark
Link
#[derive(Clone, Debug, PartialEq)]
struct State {
    count: isize,
}

impl State {
    pub fn new() -> State {
        State { count: 0 }
    }
}

#[derive(Clone, Debug)]
enum Action {
    ChangeCount(isize),
}

#[derive(Clone, Debug)]
struct CounterApp;
impl App for CounterApp {
    type State = State;
    type Action = Action;

    fn reducer(&self, mut state: State, action: Action) -> (State, Task<Action>) {
        match action {
            Action::ChangeCount(c) => {
                state.count = c;
            }
        };
        (state, Task::empty())
    }

    fn view(&self, state: State) -> View<Action> {
        let count = state.count;
        view! {

                { count.to_string() }
                <button onclick={ move |_| Some(Action::ChangeCount(count.clone() + 1)) }>
                    increment
                </button>
                <button onclick={ move |_| Some(Action::ChangeCount(count - 1)) }>
                    decrement
                </button>

        }
    }
}

impl Default for CounterApp {
    fn default() -> CounterApp {
        CounterApp
    }
}

#[wasm_bindgen]
pub fn run() {
    WebRuntime::<CounterApp>::new(
        window()
            .unwrap()
            .document()
            .expect("Failed to get document")
            .query_selector("body")
            .unwrap()
            .unwrap(),
        State::new(),
    )
    .run();
}

Willow
Link
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Msg {
    Increment,
    Decrement,
}

#[derive(Debug, Clone)]
pub struct Model {
    counter: i32,
}

fn init() -> Model {
    Model { counter: 4 }
}

fn update(msg: &Msg, model: &mut Model) -> Box<Cmd<Msg>> {
    match msg {
        Msg::Increment => model.counter += 1,
        Msg::Decrement => model.counter -= 1,
    }
    Box::new(cmd::None)
}

fn view(model: &Model) -> Html<Msg> {
    div(
        &[],
        &[
            button(&[on_click(Msg::Increment)], &[text("+")]),
            div(&[], &[text(&model.counter.to_string())]),
            button(&[on_click(Msg::Decrement)], &[text("-")]),
        ],
    )
}

pub fn main() -> Program<Model, Msg> {
    Program::new(view, update, init())
}

Dominator
Link
struct State {
    counter: Mutable<i32>,
}

impl State {
    fn new() -> Arc<Self> {
        Arc::new(Self {
            counter: Mutable::new(0),
        })
    }

    fn render(state: Arc<Self>) -> Dom {
        // Define CSS styles
        lazy_static! {
            static ref ROOT_CLASS: String = class! {
                .style("display", "inline-block")
                .style("background-color", "black")
                .style("padding", "10px")
            };

            static ref TEXT_CLASS: String = class! {
                .style("color", "white")
                .style("font-weight", "bold")
            };

            static ref BUTTON_CLASS: String = class! {
                .style("display", "block")
                .style("width", "100px")
                .style("margin", "5px")
            };
        }

        // Create the DOM nodes
        html!("div", {
            .class(&*ROOT_CLASS)

            .children(&mut [
                html!("div", {
                    .class(&*TEXT_CLASS)
                    .text_signal(state.counter.signal().map(|x| format!("Counter: {}", x)))
                }),

                html!("button", {
                    .class(&*BUTTON_CLASS)
                    .text("Increase")
                    .event(clone!(state => move |_: events::Click| {
                        // Increment the counter
                        state.counter.replace_with(|x| *x + 1);
                    }))
                }),

                html!("button", {
                    .class(&*BUTTON_CLASS)
                    .text("Decrease")
                    .event(clone!(state => move |_: events::Click| {
                        // Decrement the counter
                        state.counter.replace_with(|x| *x - 1);
                    }))
                }),

                html!("button", {
                    .class(&*BUTTON_CLASS)
                    .text("Reset")
                    .event(clone!(state => move |_: events::Click| {
                        // Reset the counter to 0
                        state.counter.set_neq(0);
                    }))
                }),
            ])
        })
    }
}

#[wasm_bindgen(start)]
pub fn main_js() -> Result<(), JsValue> {
    #[cfg(debug_assertions)]
    console_error_panic_hook::set_once();

    let state = State::new();

    dominator::append_dom(&dominator::body(), State::render(state));

    Ok(())
}

Sauron
Link
#[derive(Debug, PartialEq, Clone)]
pub enum Msg {
    Click,
}

pub struct App {
    click_count: u32,
}

impl App {
    pub fn new() -> Self {
        App { click_count: 0 }
    }
}

impl Component<Msg> for App {

    fn view(&self) -> Node<Msg> {
        div(
            vec![class("some-class"), id("some-id"), attr("data-id", 1)],
            vec![
                input(
                    vec![
                        class("client"),
                        r#type("button"),
                        value("Click me!"),
                        onclick(|_| {
                            sauron::log("Button is clicked");
                            Msg::Click
                        }),
                    ],
                    vec![],
                ),
                text(format!("Clicked: {}", self.click_count)),
            ],
        )
    }

    fn update(&mut self, msg: Msg) -> Cmd<Self, Msg> {
        sauron::log!("App is updating from msg: {:?}", msg);
        match msg {
            Msg::Click => {
                self.click_count += 1;
                Cmd::none()
            }
        }
    }

}

#[wasm_bindgen(start)]
pub fn main() {
    Program::mount_to_body(App::new());
}

Elm
Link
application :
    { init : flags -> Url -> Key -> ( model, Cmd msg )
    , view : model -> Document msg
    , update : msg -> model -> ( model, Cmd msg )
    , subscriptions : model -> Sub msg
    , onUrlRequest : UrlRequest -> msg
    , onUrlChange : Url -> msg
    }
    -> Program flags model msg

Blazor
Link
using Microsoft.AspNetCore.Blazor.Hosting;

namespace BlazorToDoList.App
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IWebAssemblyHostBuilder CreateHostBuilder(string[] args) =>
            BlazorWebAssemblyHost.CreateDefaultBuilder()
                .UseBlazorStartup<Startup>();
    }
}

There are more hidden side-effects in AppBuilder's methods - see e.g. mount.

I don't think it modifies the DOM, so I didn't consider it a side effect. By side effect, I meant that it doesn't modify any global state (i.e. the DOM). It may panic, but I don't consider that a side effect either.

App::build(update, view).run() would be even nicer.

It shouldn't be difficult to collapse finish and run. At the same time, I'm a bit leery to combine the build and run capabilities. If we did implement this, it would look like this:
fn run(self) {
    self.finish().run()
}

so it shouldn't be a bit deal.

I'm not sure if compiler allows you to write ::default() function, because implementation of Default trait for Model is optional.

I have, in fact, implemented Init::default here. I don't think it's a breaking change.

Interesting. Do you have a real-world use-case [for multiple mount points]?

Say that you had a relatively large (mostly static) webpage that had multiple feeds in scattered locations throughout your page. I was thinking that it might be easier to provide a Model with a url for what the feed was listening to and mount two instances of the App with different urls in two different locations. We could simply get around the thing by instantiating "pages" or subsections, but I think that running multiple instances is the way to go as there's not much point in them being connected since the two parts are entirely disjoint.

It may panic, but I don't consider that a side effect either.

It is a problem, because it's surprising. You think that you are only configuring your application but it is calling DOM and can panic under your hands.

I have, in fact, implemented Init::default here. I don't think it's a breaking change.

I tried it and you are right, good.

Say that you had a relatively large (mostly static) webpage that had multiple feeds in scattered locations

Nice example. Have you tried it?

Hmm, got it about the about the panic. Well, if we allow for mounting different copies of the App in different places, this would need to go into the Init struct, so I guess it depends on what happens there, I suppose.

Have you tried it?

For the example: no, I have not. I was just exploring the issue mentally. I haven't had a lot of time to code for the past week-ish.

Hm, it seems that run is a one-off process, so I would also suggesting creating a third class between AppBuilder and App that only has the method run if we continue with the build -> finish -> run pattern.

Can we make it simpler? I.e. two classes - App and AppBuilder and start app with App::build(update, view).run()?

Hence the "if".
Again, however, this version is simpler but the other is more flexible, so we can always hide the above call with a run implemented on the AppBuilder. In fact, we would simply hide all of the calls with App::build_and_run(update, view) if we take it to an extreme.

Let's write a list of options so we can move forward:
1) App::run(update, view)

+ short
- you can't call methods like routes

2) App::build(update, view).finish().run()

+ you can do some extra configuration in finish
- need to create another class

3) App::build(update, view).run()

something between 1) and 2)

4) App::build()
        .update(update)
        .view(view)
        .run()

+ all builder methods are consistent
- it would probably need to explicitly define types when you use call only App::build()
- maybe too verbose

Can you complete the list (add more variants, add - or +, etc.)?

I want to note that this isn't necessarily a list of exclusive options since each option is a strict superset of what's allowed by the previous option apart from 3. We could implement all of these functions and link them to each other in the documentation.
Namely,
App::run(update, view)

is equivalent to
App::build(update, view).run()

with the following impl
impl App {
    fn run(update: _, view: _) {
        App::build(update, view).run()
    }
}

App::build(update, view).run()

is equivalent to
App::build(update, view).finish().run()

with the following impl
impl App {
    fn build(update, view) -> AppBuilder {
        AppBuilder::new(update, view)
    }
}
// -- snip
impl AppBuilder {
    fn finish(self) -> App {
        App::new(...)
    }
    fn run(self) {
        self.finish().run()
    }
}

I don't like this, but
App::build(update, view).finish().run()

is equivalent to
App::builder()
        .update(update)
        .view(view)
        .run()

with the following impl
impl App {
    fn build(update, view) -> AppBuilder {
        App::builder()
            .update(update)
            .view(view)
    }
}
// -- snip
impl AppBuilder {
    fn build(self) -> App {
        App::new(...)
    }
    fn run(self) {
        self.build().run()
    }
}

I'm going to name each of those:

App::run(update, view) single function run

+ This is fairly useful for any MPA with no sinks as they have no need for routes.

App::build(update, view).finish().run() build then run

+- Separates the notion of actually creating the application and running the application. This is useful if you need to manipulate the thing between build and run, but not useful otherwise.
- Function names are a bit cryptic (as is). See note at bottom regarding these names in general.

build doesn't actually build, but starts the building process
finish finishes the building process, but also partially starts running the App
run behaves as expected

+- Has an extra stage between building the App and running the App This potentially aids in disallowing illegal configurations.
I'm personally opposed to having finish take anything as an argument.

App::build(update, view).run() build and run

+- Conflates the notion of actually creating the application and running the application. This is useful if you don't need to manipulate the thing between build and run, but not useful otherwise.
- Prevents me from passing around just an App -- I need to pass around an AppBuilder if I want to start running the App at a later time (i.e. initial http(REST) api calls to get state)
+Has no break between legal and illegal state, same as the build then run method and single function run method.

App::build().update(_).view(_).run() spread builder

Same pros/cons as the build and run method.
- Allows for missing update and view -- what does this mean? Does it simply panic? It might be difficult to capture this at compile time.
- Fundamentally equivalent to the build and run approach, but allows for bad state.

Note: I don't like the name of the function build since we aren't building the app, but rather creating a builder. Actually, the typical names I've seen for the Builder pattern is builder then build instead of build then finish. Examples: typed-builder and derive_builder
Also, I would like to clarify: what about the originally suggested change, where run takes a lambda to create the Init struct instead of it being passed into the build function? Is that accepted, or still under discussion?

I love the short API App::run(update, view), with the ability to expand for flexibility, as-required.

App::builder(update, view).build().run()

I suggest to make it the main ("official") way to to start app - function naming is better, it's easy to call more builder methods and it's basically the same like the current API.

App::run(update, view)

What are advantages over (1.)? (Except the expression length.)
Is it possible to have a function and method with the same name? (App::run(update, view) and App::run(self))

run takes a lambda to create the Init struct instead of it being passed into the build function

Could you provide some real-world examples where it's better for Seed users or where we can't use builder's init?

I agree with the points on 1.
With regards to App::run(update, view), if you don't need sink, or routes (aka it's not a single page app), and you don't do anything fancy with the mount or the window, this is sufficient.
As for the run duplication issue, we can just come up with a different name. If we go with a three struct sequence (something like AppBuilder -> AppRunner -> App), this shouldn't be a concern as run is implemented on AppRunner and App separately.
As for init, again, the problem is how we need to implement build (or finish as it is called). The init function is not run when the app is started, but rather on calling build which is very unexpected. Not to mention that the App's state is inconsistent with when update or view is called. This is the primary concern I have for sticking the init function into the AppBuilder. It's not used anywhere other than in the run function, so I don't think it's necessary to initialize it in the builder. Not to mention that we can then remove two fields in AppCfg that are never used again after run.

App::run(update, view)

I just don't see user pain which we want to resolve with this API. So I think that adding this as a trade-off for more code (= more potential bugs, bigger WASM size), larger public API to maintain and a little bit more inconsistent app start among examples / projects on Seed is not good idea.

As for init, again, the problem is how we need to implement build

I don't care about implementation now if it looks at least doable. I'm trying to find best design (i.e. find real-world examples) from the user point of view, we can discuss implementation in PR.

@David-OConnor @flosse could you share your opinions, please?

@MartinKavik I had not time to read all the comments.

I don't care about implementation now if it looks at least doable. I'm trying to find best design (i.e. find real-world examples) from the user point of view, we can discuss implementation in PR.

I totally agree!
And I'd split the API at least into a builder and a final App.
Moreover I don't like the name init because I have no idea what it means.
I'd prefer a more precise naming like before_mounted or after_mounted etc.
Without really thinking about all the point, I'd draft the API like this:
App::new(update, view)        // create a builder
  .routes(my_routes)          // configure whatever you like
  .before_mounted(before_mnt) // declare what should happen but don't do it now
  .after_mounted(after_mnt)   // again, declare but execute it later
  .build()                    // build the instance
  .run();                     // run it

More drafts to discuss.
Minimal example:
App::builder(update, view).build_and_run();

Example with all builder methods:
App::builder(update, view)
    .routes(routes)
    .window_events(window_events)
    .sink(sink)
    .before_mount(before_mount)
    .after_mount(after_mount)
    .build_and_run();

fn before_mount(_url: Url) -> BeforeMount {
    BeforeMount::new()
        .mount_type(MountType::Overtake)
        .mount_point("application");
}

fn after_mount(_url: Url, _orders: &mut impl Orders<Msg>) -> AfterMount<Model> {
    AfterMount::new()
        .model(Model { count: 5 })
        .url_handling(UrlHandling::None);
}

Changes:

::builder and .build_and_run to use more standard naming as @AlterionX suggested.
build_and_run to prevent using App in non-initialized state (e.g. it panics on app.update(..)).
before_mount and after_mount to better express purpose as @flosse suggested.
before_mount is a combination of .mount and .mount_type so we can set it when the app is started as @AlterionX suggested.
after_mount is renamed init.

I like this one & am fully on board. The before_mount and after_mount is super nice, imo.

@David-OConnor Is that API design ok with you?

@David-OConnor:
I'm looking at the builder pattern as an implementation detail that allows some details (routes, before_mount etc) to be optional, and start (or something else) is simple, vice a formal pattern.
(https://github.com/David-OConnor/seed/pull/275#issuecomment-549037009)

I don't think that the builder pattern is an implementation detail in this case because it's the part of public API. When I open AppBuilder docs and see method start I would be probably confused - does it mean start building or start App?

start, build_and_run, run..
Another alternative could be start_app.
Other ideas/opinions please (see previous comment)? @flosse , @AlterionX

Seems like we've already settled on build_and_run? A bit posthumous, but personally a fan since it doesn't stray from my knowledge of builders.
@David-OConnor Do you have more input regarding the API? Or is this okay?

@AlterionX final version is
https://github.com/David-OConnor/seed/blob/5ce6379c9affc3c65d204c91221f20f08f7b6069/src/vdom/builder.rs#L220

Oh, my bad. Read that wrong.

Yep - those aren't implemented, but look good.

I think we can close this. All the changes have been implemented.


Explicitly specify which categories of dtypes the elementwise functions are defined for

Please double check that I didn't make any mistakes.
Some comments:

I made all transcendental functions require floating-point inputs (i.e., no integers). This is because they say the output must use type promotion, but integer dtypes do not type promote to floating-point dtypes according to the type promotion rules.
For pow, pow(a, b) does not make sense if a and b are integers and b is negative. Should we restrict it to only being defined for nonnegative b? I think I might have brought this up before somewhere, but I don't remember what was decided.

(as an aside, shouldn't pow(0, 0) == 1 be listed as a special case for pow?)

The same question for divide. Should it be defined for integer inputs, and if so, does that preclude the definition when the second argument is 0?

I will also update the array methods as per https://github.com/data-apis/array-api/issues/98#issuecomment-739088199 in another PR once this is merged.

Thanks Aaron. This categorization makes sense, and I agree with "must" -> "should".

Thanks Aaron. This categorization makes sense, and I agree with "must" -> "should".

I made all transcendental functions require floating-point inputs (i.e., no integers). This is because they say the output must use type promotion, but integer dtypes do not type promote to floating-point dtypes according to the type promotion rules.

This seems correct to me. Most libraries will happily accept integer dtypes and upcast to float, but IIRC at least TensorFlow raises an exception instead.
+1 for the pow proposal and listing the special case.
divide should not be limited I believe. It's different from transcendental functions, because it's more important that it matches / (which in Python 3 does int / int -> float) than that there's no casting rules for int to float.

I made all transcendental functions require floating-point inputs (i.e., no integers). This is because they say the output must use type promotion, but integer dtypes do not type promote to floating-point dtypes according to the type promotion rules.

This seems correct to me. Most libraries will happily accept integer dtypes and upcast to float, but IIRC at least TensorFlow raises an exception instead.
+1 for the pow proposal and listing the special case.
divide should not be limited I believe. It's different from transcendental functions, because it's more important that it matches / (which in Python 3 does int / int -> float) than that there's no casting rules for int to float.

The special case of pow(0,0) is already addressed in the spec by:

If x2_i is +0, the result is 1, even if x1_i is NaN.
If x2_i is -0, the result is 1, even if x1_i is NaN.

Re: divide. If integer dtypes are to be explicitly permitted in the spec, we should state explicitly something to the effect of

If x1 has an integer dtype, the array must be cast to the default floating-point data type prior to computing results.

Ditto for x2.
If the goal is to match Python 3 / behavior exactly, then we'd need to recommend casting to float64, but this does not seem desirable.

I made pow and divide only defined for floating-point inputs.

I will also update the array methods as per #98 (comment) in another PR once this is merged.

Can you do this follow-up @asmeurer?


ad-mapper with cache

ad-mapper will now keep an in-memory cache for metricId->DetectorIdList

Cache is a self expiring Guava cache wrapped in class DetectorMapperCache.

On cache miss the app makes batched request to ModelService to get mappings

This batching has been done using a custom processor MetricDataTransformer
Size of batching is determined on basis of time taken by ModelService for lookup ( smaller lookup time , smaller batches)

General comment - please run the code through the code formatter, using the styles at the top of the project.


feat: implement secrets handling

Describe your changes
This PR implements the support for user secrets handling.
This is twofold:

The web API now accepts a new field which provides a list of secret ids and the path where they should be made available
The patches will now contain a new init container and volumes to retrieve secrets content and decrypt them to make them available to the main container

Issue ticket number and link
Part of #1206
Part of https://github.com/SwissDataScienceCenter/renku-design-docs/pull/41
/deploy #notest renku-ui=lorenzo/shape-up-secrets-inject renku=build/secrets-in-sessions renku-gateway=limit-user-secret renku-data-services=pitch/secret-storage secrets-storage=pitch/secret-storage extra-values=secretsStorage.encryptionKey=vMqdVXcSIwjwONvGiNE2vjzRjmi8NJ8Y9lTB8m3l/Xg=

@Panaetius presumably this PR can be deployed with the other components to test it live?

This confuses me quite a bit, the deployment fails due to this error in the Notebooks:
[2024-05-02 07:31:01 +0000] [8] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/arbiter.py", line 609, in spawn_worker
    worker.init_process()
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/workers/ggevent.py", line 147, in init_process
    super().init_process()
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/workers/base.py", line 134, in init_process
    self.load_wsgi()
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
    self.wsgi = self.app.wsgi()
                ^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
                    ^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
    return self.load_wsgiapp()
           ^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
    return util.import_app(self.app_uri)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/.venv/lib/python3.11/site-packages/gunicorn/util.py", line 371, in import_app
    mod = importlib.import_module(module)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1126, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/app/renku_notebooks/__init__.py", line 27, in <module>
    from .api.notebooks import (
  File "/app/renku_notebooks/api/notebooks.py", line 45, in <module>
    from .classes.server import Renku2UserServer, Repository, UserServer
  File "/app/renku_notebooks/api/classes/server.py", line 23, in <module>
    from ..schemas.secrets import K8sUserSecrets
  File "/app/renku_notebooks/api/schemas/secrets.py", line 4, in <module>
    from ulid import ULID
ModuleNotFoundError: No module named 'ulid'

but I can see that ulid was added in pyproject.toml . Not really sure what is going on there

This confuses me quite a bit, the deployment fails due to this error in the Notebooks:
SNIPPED
but I can see that ulid was added in pyproject.toml . Not really sure what is going on there

I am as lost as you are, I am wondering if there's some caching issue at play.

This confuses me quite a bit, the deployment fails due to this error in the Notebooks:
SNIPPED
but I can see that ulid was added in pyproject.toml . Not really sure what is going on there

I am as lost as you are, I am wondering if there's some caching issue at play.

the image contains the git sha as part of the tag, and that is correct, so I don't think it could be cache related. I'll look into it more later today

You can access the deployment of this PR at https://renku-ci-nb-1853.dev.renku.ch


new more "functional" api

It would be a lot cleaner to export a NodeGroup component that accepts functions for deriving the starting state and rendering.  Clears up some conceptual issues with passing a "node" component and reduces the total lines needed to code a transition group.  Just much cleaner.
Would look like this...
<NodeGroup
  data={this.state.data}
  keyAccessor={(d) => d.name}

  start={(node, index) => ({ // starting state
    opacity: 1e-6,
    x: 1e-6,
    fill: 'green',
    width: scale.bandwidth(),
  })}

  enter={(node, index) => ({
    opacity: [0.5],
    x: [scale(node.name)],
    timing: { duration: 1500 },
  })}

  update={(node, index) => ({
    opacity: [0.5],
    x: [scale(node.name)],
    fill: 'blue',
    width: [scale.bandwidth()],
    timing: { duration: 1500 },
  })}

  leave={(node, index, remove) => ({
    opacity: [1e-6],
    x: [scale.range()[1]],
    fill: 'red',
    timing: { duration: 1500 },
    events: { end: remove },
  })}

  render={(node, state, index) => {
    const { x, ...rest } = state;

    return (
      <g transform={`translate(${x},0)`}>
        <rect
          height={dims[1]}
          {...rest}
        />
        <text
          x="0"
          y="20"
          fill="white"
          transform="rotate(90 5,20)"
        >{`x: ${x}`}</text>
        <text
          x="0"
          y="5"
          fill="white"
          transform="rotate(90 5,20)"
        >{`name: ${node.name}`}</text>
      </g>
    );
  }}
/>

Done in 0.8.0!


misc. UI improvements

Miscellaneous UI improvements (thanks @ohnocassio!):

improved + icon in fab
position + icon in center of fab
reduce space between "Create new account" and "I have an account" buttons
for cloud

Tested in Chrome and FF.

This change is

ref: https://docs.google.com/document/d/1O--rf89snLk5wyrgbcyIoERtHfRjRrQAdG2VpifbOwI/edit

:+1:

Comments from Reviewable

@ohnocassio These changes just landed on master :)


Fixing csproj generation so that C# 9.0 and the new feed are used

Description
This fixes issue #1573
When using the latest version of AutoRest and attempting to generate a client, the .csproj file that is generated has an old package feed that does not contain the correct version of Microsoft.Azure.AutoRest.CSharp that is intended. A dotnet build will fail unless the package feed is updated to the "new" one.
This finds the correct package, but then the build breaks again due to the latest version of that package relying on C# 9.0.
This PR fixes both these values which results in a successful build.
Checklist
To ensure a quick review and merge, please ensure:

[x] The PR has a understandable title and description explaining the why and what.
[x] The PR is opened in draft if not ready for review yet.

If opened in draft, please allocate sufficient time (24 hours) after moving out of draft for review

[x] The branch is recent enough to not have merge conflicts upon creation.

Ready to Land?

[x] Build is completely green

Submissions with test failures require tracking issue and approval of a CODEOWNER

[x] At least one +1 review by a CODEOWNER
[x] All -1 reviews are confirmed resolved by the reviewer

Override/Marking reviews stale must be discussed with CODEOWNERS first

Here is a list to the UI for the public feed to figure out the version.
https://dev.azure.com/azure-sdk/public/_artifacts/feed/azure-sdk-for-net/NuGet/Microsoft.Azure.AutoRest.CSharp


Update azure-pipelines.yml: Reducing the number of jobs to 1 (ubuntu/…

Summary
Reducing the number of jobs
Description
Used to run 3 jobs (Windows, Mac and Ubuntu, each with JDK 1.8)
Now running 1 job (Ubuntu with JDK 1.8)
Related Issue
N/A
Additional Reviewers
N/A

Looks good to me.


Does CacheManager.Serialization.Json.GzJsonCacheSerializer support string values?

Here is my cache configuration
						cacheConfigBuilder
							.WithRedisConfiguration("redis", redisConnection.Value)
							.WithUpdateMode(CacheUpdateMode.Up)
							.WithSerializer(typeof(CacheManager.Serialization.Json.GzJsonCacheSerializer))
							.WithMaxRetries(1)
							.WithRetryTimeout(2)
							.WithRedisBackplane("redis", channelName: $"{environment.EnvironmentName}-backplane")
							.WithRedisCacheHandle("redis", isBackplaneSource: true);

When I put string into the cache it seems it is not compressed.

Yeah, primitives do not have to be serialized, that's why a string doesn't go through the serializer/gz compression. You could easily do that yourself though and just cache the compressed byte array?

I just wrapped a sting into a custom object.
Maybe this could be mentioned in the documentation http://cachemanager.michaco.net/documentation/CacheManagerSerialization?

Yup, documentation should probably have a statement about that


No way to use it with Mobx

Error: It is not allowed to use shouldComponentUpdate in observer based components.
import { signal } from "@preact/signals";
import { observer } from "mobx-react";
import { Component } from "preact";

signal(1);

@observer
export class App extends Component<{}, {}>{
    render()
    {
        return (
            <div>
                Hello World
            </div>
        );
    }
}

Why would you use this with mobx? Generally they address the same problem and it'd make sense to use one or the other.

Indeed, I am in the exploratory stage.
Because singnals does not support object Store, I want to try it out.
signals(0) is similar to mobx.observable.box(0)

FWIW, I can't reproduce this: https://stackblitz.com/edit/vitejs-vite-rfbmef?file=src%2Fmain.jsx


License type missing

Hello, how are you?
Sometimes we cannot use some libs in our projects because the license type. I wasn't able to find it in the repo.
Thanks! :smile:

Hello AlanVerbner,
We are working daily at Essence framework.Thank you for the feedback.
We just pushed the missing License / License-docs files. Hope the license type is OK for you to build your apps?! :)
Thanks!

Awesome! Thanks! I will try it now, heheheh
:+1:


Add a filter.Filter for testing elevation

This is really a filter on spatial.PropertiesResponse results since elevation won't be part of the SPR.
Still worth doing but probably not as a filter.Filter and probably worth extending to all properties. Consider using:
https://github.com/aaronland/go-json-query


Allow configuration of invoke URL pattern via environment variables

Link to issue this resolves

What I did

This allows for an Fn server to customize the path of the invoke URLs it handles

How I did it

There are two new environment variables for configuration:
FN_INVOKE_GROUP represents the static prefix of the invoke endpoints
FN_INVOKE_TEMPLATE represents the URL path and should include :fn_id to represent the function ID

How to verify it

Run an Fn server with FN_INVOKE_GROUP=/runthefunction and FN_INVOKE_TEMPLATE=/:fn_id/prettyplease
Deploy a function.
Run curl http://<IP_ADDRESS>:8080/runthefunction/<function_id>/prettyplease

One line description for the changelog

Allow configuration of invoke URL pattern via environment variables

One moving picture involving robots (not mandatory but encouraged)

hmm. we have methods to add endpoints to the server itself and we have handlers (the invoke handler which uses the same var), so while this solves the problem I'm not sure we need the additional configurations and code and this could be a one liner in the configuration of fn?


Add essentials vanish tag

A tag to check if a player is in vanish from Essentials.
The tag could be<EMAIL_ADDRESS>

https://github.com/ausFort/Depenizen-For-Bukkit/commit/82900a9d91937eec99ad1ede30e797d19f768fd0
I added this - waiting on @Morphan1 to accept my PR, eventually.


Cannot read property 'getOptional' of undefined

I'm trying to implement ng2-toasty in a project i'm working on, but as soon as I add ToastyServices or ToastyConfig to the bootstrap, there is an error thrown. I am compiling to ES5, using ng2-bootstrap 1.0.7 and using angular2 beta9. I also tried following the tutorial step by step but as soon as I get too the bootstrap part, it gives me the same issue.

May I see console log of you app?

On 18 Mar 2016, at 02:09, mcclainandrew<EMAIL_ADDRESS>wrote:
I'm trying to implement ng2-toasty in a project i'm working on, but as soon as I add ToastyServices or ToastyConfig to the bootstrap, there is an error thrown. I am compiling to ES5, using ng2-bootstrap 1.0.7 and using angular2 beta9. I also tried following the tutorial step by step but as soon as I get too the bootstrap part, it gives me the same issue.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

Any feedback about this issue? Does it still exist?


[help] Sol2 and C++ 14 final version ?

Sol 2 which version will be the last to support C++ 14 ?

@ThePhD

You don't have to @ me, as the owner of this repository I get pinged for every issue and every comment on every issue.
Go back to the releases and you will see the latest version supporting C++14. It's also mentioned very explicitly in the documentation what compilers are supported, etc. etc.


Implement check() function in HSMM class

The function check() in HSMM class checks model parameters for errors before performing the main algorithms.
For the HSMM (base) class, here are some of the properties to be checked:

n_states should be at least 2, while n_durations should be at least 1.
every entries (probabilities) in HSMM.pi, HSMM.tmat, and HSMM.dur should be greater than 0, because EM algorithm cannot update 0 probability.
for HSMM.pi (start probabilities), numpy.shape = (n_states), and the sum should be 1.
for HSMM.tmat (transition matrix),  numpy.shape = (n_states, n_states), every diagonal is zero, and every row should add up to 1.
for HSMM.dur (duration probabilities), numpy.shape = (n_states, n_durations), and every row should add up to 1.

For Gaussian sub-class, here are the properties:

for GaussianHSMM.means, numpy.shape = (n_states).
for GaussianHSMM.sdev, numpy.shape = (n_states), and all entries should be greater than 0.

Just comment if some properties are not listed here.

Update (12-Jul-2020): Implemented for both HSMM (base class) and GaussianHSMM.


New version: Variography v0.4.1

Registering package: Variography
Repository: https://github.com/juliohm/Variography.jl
Created by: @juliohm
Version: v0.4.1
Commit: 7c77d24aeb67a52011044872b6639ae3edd2f6b2
Reviewed by: @juliohm
Reference: https://github.com/juliohm/Variography.jl/commit/7c77d24aeb67a52011044872b6639ae3edd2f6b2#commitcomment-35581571

Your new version pull request met all of the guidelines for automatic merging.
I will automatically merge this pull request during the next cron job.
If you want to prevent this pull request from being auto-merged, simply leave a comment.
(If you want to post a comment without blocking auto-merging, you must include the text [noblock] in your comment.)

On a separate note, I see that you are registering a release with a version number of the form v0.X.Y.
Does your package have a stable public API? If so, then it's time for you to register version v1.0.0 of your package. (This is not a requirement. It's just a recommendation.)
If your package does not yet have a stable public API, then of course you are not yet ready to release version v1.0.0.

[noblock]


Create dim_platform model

What are the relevant tickets?

https://github.com/mitodl/ol-data-platform/issues/1353
Description (What does it do?)

Creating dim_platform seeded by a csv file
How can this be tested?

dbt build --select +dim_platform

@KatelynGit Thanks for the review.

Should we include OCW?
Sure. I added OCW although we don't include OCW into the combined mart. It's good to have that in place.

One thing is should the platform id be a numeric data type? Usually numeric types are better for id's for size and speed reasons.
I believe we have discussed this in RFC https://github.com/mitodl/hq/blob/main/rfcs/0004-data-warehouse-dimensional-marts.md#schema-considerations.  The hash key makes sense to me as we need a non-numeric primary key for tables like combined users. I thought we were on the same page on this, but let me know if we need to re-visit this discussion.

And does the platform info in the csv match the info coming form the applications?
Can you say more about this? Not sure if I understand what you asking.

I just meant for things like the platform names this new table lists the platform as "MIT xPRO" but in the marts it is displayed differently like "xPro" in marts__combined__orders etc. Do you think we should change it to match what we have in the marts or applications currently?

Thank you for clarifying that.  For clarity, I intended to spell out MIT xPRO instead of xPRO in the new model to match with https://openlearning.mit.edu/.  Currently, xPRO in the mart is pulled from a variable defined in https://github.com/mitodl/ol-data-platform/blob/main/src/ol_dbt/dbt_project.yml#L36.
Unless we hardcoded the platform somewhere on the superset dataset, this new value will flow to the mart without any side effects.  I can match to what we currently have if needed


mAP

Is there a mAP metric in your code?

Please use this repo to draw the RP curve calculate the MAP https://github.com/Adamdad/Object-Detection-Metrics.git


Allow project details to be customised / changed

We have a series of static fields under plan details which funders / unis have sometimes wanted to change as they ask some of these in their templates (or conversely want to add more here e.g. project start dates or duration).
Do we want to allow them to be customised? What are the pros / cons.

For machine-actionable DMPs we want this to be consistent and have added start/end date to conform with standard


Focus windows desktop apps using run() command - try this example

Hi, Mr.Kensoh
r.run('cmd /c START c:\Project1.exe & EXIT')
r.wait(1)
r.keyboard('[right][enter]')

application started, but not focused and script not working

r.keyboard('[win]'r)
r.wait(1)r
r.keyboard('c:\Project1.exe[enter]')
r.wait(1)
r.keyboard('[right][enter]')

works perfectly

run('cmd /c START c:\Project1.exe & EXIT') in TagUI start and focus app.
So does it make sense to use run() to start windows desktop apps in RPA-Python?

@nk-mobile if it is exe file, why not just do below for example, which launches Notepad for me and makes it in the foreground in focus.
r.run('notepad.exe')

Closing for now but feel free to post back here!


When will be get Web Supports & Null Safety ?

We have found image of web support in Introduction file.
We request you upgrade your package to Null Safety
Thank you.

The package has web support and null safety :)


snowflake_resource_monitor argument set_for_account cannot be found

Provider Version
v0.25.28.
Terraform Version
v1.0.11
Describe the bug
According to release https://github.com/chanzuckerberg/terraform-provider-snowflake/releases/tag/v0.25.28
the following commit was merged: https://github.com/chanzuckerberg/terraform-provider-snowflake/commit/2613aa31da958e3557849e0615067c649c704110 from @gouline
However, when using the latest release of the provider, terraform says An argument named "set_for_account" is not expected here.
Additionally, the documentation (https://registry.terraform.io/providers/chanzuckerberg/snowflake/latest/docs/resources/resource_monitor) also does not state the parameter even though it was added to docs/resources/resource_monitor.md in the commit.
Example code:
resource "snowflake_resource_monitor" "resource_monitor_account_level" {
  name                       = "resource_monitor_account_level"
  credit_quota               = 100
  set_for_account = true
}

Expected behavior
It can be found and works
Could someone please verify it's a bug with the release/provider or if I have a mistake on my side - thanks 🙏

Release v0.25.28 is commit 5fefd92, whereas my commit 2613aa3 was after that. I'd expect it to be released in v0.25.29.

Sorry, misread👇 in a way that the release contains of the commits - my mistake, thanks!


Collections

It should be possible to make a series of related inscriptions:

If an inscription is part of a collection, it should link to the collection page
The collection page should link to all inscriptions in the collection
The collection page should have some description about the collection
It should be possible to nest collections. E.g. create a collection that contains multiple collections.
Collections should have provenance. You should be able to see the scribe who created a collection, and see the collections issued by a scribe.
It should be possible to make a collection closed-ended, e.g. guarantee that it isn't possible to issue more items.
It should be possible link to an item in a collection by number or possibly name, e.g. - /COLLECTION_SYMBOL/NUMBER or /COLLECTION_SYMBOL/NAME.

Design sketch:

Reuse prime ordinals from #783. A collection is just a prime ordinal, and all the inscriptions that it's made.
If you want to add a description to the collection, make an inscription on the prime ordinal used to issue the collection.
If you want to close the collection, send the prime ordinal to an OP_RETURN. (I don't actually like this. It seems bad to force burning the prime ordinal of a collection. But, it's very simple.)

Collectors that want to make their collections public are going to need their own identifier too, something that links to all their inscriptions. Not sure if there are more elegant ways to achieve this but a static bitcoin address could easily do the trick: collectors can re-use the same address each time they add a new inscription to their collection, thus making all their art publicly fall under the same ID / owner. In this context, address reuse is clearly a non issue. What could be an issue is the ability for anyone to spam known collectors by sending them bogus inscriptions. But I believe having a prime ordinal equivalent for collectors is a very important feature to have.

@haribosan Thanks for the comment! Opened up #1189 to track this.

Closing in favor of combined issue: #783.


Update to crate-docs 2.1.0

Will bring Sphinx 5 to the documentation sandbox.

@amotl is it a problem when the build fails? Something about the Mergify cfg?

Hi @msbt,
15b2d3b will update/fix the Mergify configuration. Mergify should be happy again after this has been merged.
With kind regards,
Andreas.


TypeCheck mdx-generated code as typescript

Currently, typescript is only transpiled, but not typechecked. So I won't notice if I have a typo in my .mdx and I won't get notified about incompatible documentation when I change a component signature without updating my .mdx. (until the js in the browser crashes later on)
So I had the idea: Why not try and add ts-loader or similar to the build process? This way, mdx would be transpiled to typescript, which would then be typechecked and transpiled to javascript.
Unfortunately, I did not succeed using any of the established loaders out there. So I wrote a small loader that plugs between the mdx-loader and babel-loader, does a typecheck but not modify the source in any way.
You can find that experiment here: https://gist.github.com/phryneas/f9a1e3bd42e900d5eb3dc7c7a3446532 - but be warned, it is very hacky.
This works quite well (you get good warnings if your mdx is in any way wrong), but as I have no real idea about the internals of webpack or the typescript compiler, this is very slow and inefficient.
Maybe this could serve as an idea or a prototype of a native docz feature?
I could imagine that teaming up with the author of `https://github.com/Realytics/fork-ts-checker-webpack-plugin might be an interesting idea - fork-ts-checker checks for types in parallel, so it might only need a hook that would be invoked somewhere in the build and typechecking could run in parallel and in a more efficient fashion.
What do you think?

this is amazing sir 🙏🙏🙏

I made a pull request at fork-ts-checker ( https://github.com/Realytics/fork-ts-checker-webpack-plugin/pull/225 ) - if this gets merged, typechecking will occur in parallel and be quite fast.

New pull request is at https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/pull/227 (still not merged)


Plot Objective Figure Size (PR)

Could I make a PR where the user can easily change the figure size of this function? Maybe with something like plot_objective(cell_size=int) since depending on the matplotlib theme used 2 as a figure size multiplier is extremely small.
Thank you

This would be a great PR. Not sure what the best way to implement this is though. Should we stop doing any explicit figure size settings in the function and ask the user to pass in a figure/axis if they want a different size?
However having a rectangular plot is probably not what anyone wants for a figure with a matrix of plots on it.
Do you have an idea how other libraries deal with: use a non default figure size and let the user override it?

Yeah absolutely. I was going to implement it the same way Seaborn allows changes in the size of their pair plots by using the arg size.
Since these facet style plots are complicated to deal with in the first place on the user end I thought this may actually be the most elegant solution.

Sounds like a good idea to me.

I've submitted the pull request. Tell me if there are any issues

Thanks for your contribution :)


NAN loss while training locally on COCO type dataset

💡 Your Question
Hi, I need some help with training a model. I've tried training with a custom script, but got NaN and 0 loss values during training, so I figured that the problem might be either with my dataset or with my code. So I decided to use a ready made  notebook with a public Kaggle dataset to try to locate the issue.
The notebook: https://colab.research.google.com/drive/1q0RmeVRzLwRXW-h9dPFSOchwJkThUy6d
The dataset: https://www.kaggle.com/datasets/sharansmenon/aquarium-dataset
Up to the point of training, all was going well, I got the model instantiated and loaded the labels.

During training, the output was:
`[2024-08-29 23:29:54] INFO - sg_trainer_utils.py - TRAINING PARAMETERS:
- Mode:                         Single GPU
- Number of GPUs:               1          (1 available on the machine)
- Full dataset size:            447        (len(train_set))
- Batch size per GPU:           4          (batch_size)
- Batch Accumulate:             1          (batch_accumulate)
- Total batch size:             4          (num_gpus * batch_size)
- Effective Batch size:         4          (num_gpus * batch_size * batch_accumulate)
- Iterations per epoch:         111        (len(train_loader))
- Gradient updates per epoch:   111        (len(train_loader) / batch_accumulate)
- Model: YoloNAS_S  (19.02M parameters, 19.02M optimized)
- Learning Rates and Weight Decays:
- default: (19.02M parameters). LR: 0.0005 (19.02M parameters) WD: 0.0, (42.15K parameters), WD: 0.0001, (18.98M parameters)
[2024-08-29 23:29:54] INFO - sg_trainer.py - Started training for 100 epochs (0/99)
Train epoch 0:   0%|          | 0/111 [00:00<?, ?it/s]/home/daniel/.pyenv/versions/3.10.14/lib/python3.10/site-packages/super_gradients/training/sg_trainer/sg_trainer.py:502: FutureWarning: torch.cuda.amp.autocast(args...) is deprecated. Please use torch.amp.autocast('cuda', args...) instead.
with autocast(enabled=self.training_params.mixed_precision):
Train epoch 0:  10%|▉         | 11/111 [00:14<02:06,  1.26s/it, PPYoloELoss/loss=nan, PPYoloELoss/loss_cls=nan, PPYoloELoss/loss_dfl=nan, PPYoloELoss/loss_iou=nan, gpu_mem=1.75]`
Thought that maybe I need to wait for a couple epochs to pass to start getting loss values, but still the values remained NaN. I tried running the same code on a different machine, but got the same result. On Colab, however, the code finally worked, displaying the loss values.
My environment:
`PyTorch version: 2.4.0+cu121
Is debug build: False
CUDA used to build PyTorch: 12.1
ROCM used to build PyTorch: N/A
OS: Fedora Linux 40 (Xfce) (x86_64)
GCC version: (GCC) 14.2.1 20240801 (Red Hat 14.2.1-1)
Clang version: Could not collect
CMake version: version 3.28.2
Libc version: glibc-2.39
Python version: 3.10.14 (main, Jun 30 2024, 01:17:49) [GCC 14.1.1 20240620 (Red Hat 14.1.1-6)] (64-bit runtime)
Python platform: Linux-6.10.4-200.fc40.x86_64-x86_64-with-glibc2.39
Is CUDA available: True
CUDA runtime version: Could not collect
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration: GPU 0: NVIDIA GeForce GTX 1650
Nvidia driver version: 555.58.02
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
CPU:
Architecture:                         x86_64
CPU op-mode(s):                       32-bit, 64-bit
Address sizes:                        43 bits physical, 48 bits virtual
Byte Order:                           Little Endian
CPU(s):                               12
On-line CPU(s) list:                  0-11
Vendor ID:                            AuthenticAMD
Model name:                           AMD Ryzen 5 3600X 6-Core Processor
CPU family:                           23
Model:                                113
Thread(s) per core:                   2
Core(s) per socket:                   6
Socket(s):                            1
Stepping:                             0
Frequency boost:                      enabled
CPU(s) scaling MHz:                   86%
CPU max MHz:                          4756.6401
CPU min MHz:                          2200.0000
BogoMIPS:                             8199.84
Flags:                                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip rdpid overflow_recov succor smca sev sev_es
Virtualization:                       AMD-V
L1d cache:                            192 KiB (6 instances)
L1i cache:                            192 KiB (6 instances)
L2 cache:                             3 MiB (6 instances)
L3 cache:                             32 MiB (2 instances)
NUMA node(s):                         1
NUMA node0 CPU(s):                    0-11
Vulnerability Gather data sampling:   Not affected
Vulnerability Itlb multihit:          Not affected
Vulnerability L1tf:                   Not affected
Vulnerability Mds:                    Not affected
Vulnerability Meltdown:               Not affected
Vulnerability Mmio stale data:        Not affected
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed:               Mitigation; untrained return thunk; SMT enabled with STIBP protection
Vulnerability Spec rstack overflow:   Mitigation; Safe RET
Vulnerability Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:             Mitigation; Retpolines; IBPB conditional; STIBP always-on; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
Vulnerability Srbds:                  Not affected
Vulnerability Tsx async abort:        Not affected
Versions of relevant libraries:
[pip3] numpy==1.23.0
[pip3] onnx==1.15.0
[pip3] onnxruntime==1.15.0
[pip3] onnxsim==0.4.36
[pip3] torch==2.4.0
[pip3] torchmetrics==0.8.0
[pip3] torchvision==0.19.0
[pip3] triton==3.0.0
[conda] Could not collect`
Environment on second machine:
`PyTorch version: 2.4.0+cu121
Is debug build: False
CUDA used to build PyTorch: 12.1
ROCM used to build PyTorch: N/A
OS: Kali GNU/Linux Rolling (x86_64)
GCC version: (Debian 13.2.0-24) 13.2.0
Clang version: 14.0.6-2
CMake version: version 3.28.3
Libc version: glibc-2.38
Python version: 3.12.5 (main, Aug 18 2024, 01:30:37) [GCC 13.2.0] (64-bit runtime)
Python platform: Linux-6.6.15-amd64-x86_64-with-glibc2.38
Is CUDA available: True
CUDA runtime version: Could not collect
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration:
GPU 0: NVIDIA GeForce GTX 1660 SUPER
GPU 1: NVIDIA GeForce GTX 1660 SUPER
Nvidia driver version: 555.42.02
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
CPU:
Architecture:                       x86_64
CPU op-mode(s):                     32-bit, 64-bit
Address sizes:                      39 bits physical, 48 bits virtual
Byte Order:                         Little Endian
CPU(s):                             8
On-line CPU(s) list:                0-7
Vendor ID:                          GenuineIntel
Model name:                         Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
CPU family:                         6
Model:                              60
Thread(s) per core:                 2
Core(s) per socket:                 4
Socket(s):                          1
Stepping:                           3
CPU(s) scaling MHz:                 65%
CPU max MHz:                        4000.0000
CPU min MHz:                        800.0000
BogoMIPS:                           7198.06
Flags:                              fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm cpuid_fault pti ssbd ibrs ibpb stibp tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts vnmi md_clear flush_l1d
Virtualization:                     VT-x
L1d cache:                          128 KiB (4 instances)
L1i cache:                          128 KiB (4 instances)
L2 cache:                           1 MiB (4 instances)
L3 cache:                           8 MiB (1 instance)
NUMA node(s):                       1
NUMA node0 CPU(s):                  0-7
Vulnerability Gather data sampling: Not affected
Vulnerability Itlb multihit:        KVM: Mitigation: VMX disabled
Vulnerability L1tf:                 Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable
Vulnerability Mds:                  Mitigation; Clear CPU buffers; SMT vulnerable
Vulnerability Meltdown:             Mitigation; PTI
Vulnerability Mmio stale data:      Unknown: No mitigations
Vulnerability Retbleed:             Not affected
Vulnerability Spec rstack overflow: Not affected
Vulnerability Spec store bypass:    Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:           Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:           Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP conditional, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:                Mitigation; Microcode
Vulnerability Tsx async abort:      Not affected
Versions of relevant libraries:
[pip3] numpy==1.26.4
[pip3] torch==2.4.0
[pip3] torchvision==0.19.0
[pip3] triton==3.0.0
[conda] Could not collect`
Thanks in advance for any suggestions on what the issue might be.
Versions
No response

More output from training:
`
Train epoch 1: 100%|██████████| 111/111 [02:23<00:00,  1.29s/it, PPYoloELoss/loss=nan, PPYoloELoss/loss_cls=nan, PPYoloELoss/loss_dfl=nan, PPYoloELoss/loss_iou=nan, gpu_mem=2.76]
Validating epoch 1: 100%|██████████| 32/32 [00:04<00:00,  7.99it/s]
SUMMARY OF EPOCH 1
├── Train
│   ├── Ppyoloeloss/loss_cls = nan
│   │   ├── Epoch N-1      = nan    (= nan)
│   │   └── Best until now = nan    (= nan)
│   ├── Ppyoloeloss/loss_iou = nan
│   │   ├── Epoch N-1      = nan    (= nan)
│   │   └── Best until now = nan    (= nan)
│   ├── Ppyoloeloss/loss_dfl = nan
│   │   ├── Epoch N-1      = nan    (= nan)
│   │   └── Best until now = nan    (= nan)
│   └── Ppyoloeloss/loss = nan
│       ├── Epoch N-1      = nan    (= nan)
│       └── Best until now = nan    (= nan)
└── Validation
├── Ppyoloeloss/loss_cls = nan
│   ├── Epoch N-1      = nan    (= nan)
│   └── Best until now = nan    (= nan)
├── Ppyoloeloss/loss_iou = nan
│   ├── Epoch N-1      = nan    (= nan)
│   └── Best until now = nan    (= nan)
├── Ppyoloeloss/loss_dfl = nan
│   ├── Epoch N-1      = nan    (= nan)
│   └── Best until now = nan    (= nan)
...
├── Epoch N-1      = 0.0    (= 0.0)
└── Best until now = 0.0    (= 0.0)
`


will it support language change?

I want to help translate English to Chinese, will it support?

Hi @zhanggaoxuan, we would have to add internationalization support. We could use something like https://react.i18next.com/


SUSH - Deletion not permitted

Hmm, trying to update the SFLIGHT reference scenario from 2021 to 2022.
SU2X 041

i checked https://github.com/SAP-samples/abap-platform-refscen-flight and as far as I can tell, the iwsv objects are not part of the repo 😉

Well well well, these IWSV objects do exist in TADIR but do not exist in /IWBEP/I_MGW_SRH, which is why exists returns false and they are removed from abapGit's TADIR read. Since they aren't on the remote either as you mentioned no diff and therefore no deletion I guess.

i'm not familiar with these object types. to remove left-over tadir entries, add them to a transport and release it.
if they are generated, then the generating object type is responsible for removing them (incl. tadir).

Unfortunately I don't know how to re-create them correctly.
Also how can they be left over if DBTABLOG indicates they were just created? I would probably opt for uninstalling the repo completely, deleting any objects left in the packages and then pulling fresh at this point.

are the screenshots from the first try to uninstall or a subsequent try? if you tried before, then iwsv were removed but leftover the tadir. or the iwsv objects are in an open transport (release would remove the tadir).
cleaning up manually is certainly an option too

I don't think it's worth it to historically reconstruct the issue. I'll try uninstall, cleaning up and reinstall.

so close?


Feature Request: instant blacklist

from what i read so far pathfinder mostly looks at the crop a pilot is in, if a black sheep need's to be removed it can take up to 24h or longer to a crop to take care of this matter aka. pod the pilot if needed so he gets removed from corp for good.
id realy like to see my crop using pathfinder asap - but not being able to revoke a individuals access (with out restarting the server) is a no go for us

See #205 for details on how to implement an external authorization scheme for a private pathfinder installation.

External auth is a bit too complicated for me. Some simple blacklist by adding banned characterID to database or even a file would be great.
Less levels of authentication for user is better.
Some more complex ACLs (whitelisting preferred over blacklisting) (possibly using database) would be great.

Ok.. I'm not a coder, i never coded in PHP in my life but...
--- /home/wildstrawberry/PF_Blacklist/pathfinder-1.1.5.orig/app/main/model/charactermodel.php   2016-09-24 16:32:11.000000000 +0200
+++ charactermodel.php  2016-10-01 01:05:14.152267537 +0200
@@ -297,6 +297,23 @@
         $f3 = self::getF3();

         $whitelistCorporations = $whitelistAlliance = [];
+
+/* Blacklist check - by character's "name" BLACKLIST = "name1","name2"*/
+       $instantBlacklist = [];
+
+       if( !empty($f3->get('PATHFINDER.LOGIN.BLACKLIST')) ){
+            $instantBlacklist = array_map('trim',(array) $f3->get('PATHFINDER.LOGIN.BLACKLIST') );
+        }
+       if(
+               !empty($instantBlacklist) &&
+               in_array($this->get('name', true), $instantBlacklist)
+       ){
+               $isAuthorized = false;
+               return $isAuthorized;
+       }
+/**/
+
+
         if( !empty($f3->get('PATHFINDER.LOGIN.CORPORATION')) ){
             $whitelistCorporations = array_map('trim',(array) $f3->get('PATHFINDER.LOGIN.CORPORATION') );
         }

--- /home/wildstrawberry/PF_Blacklist/pathfinder-1.1.5.orig/app/pathfinder.ini  2016-09-24 16:32:11.000000000 +0200
+++ ../../pathfinder.ini        2016-10-01 01:03:36.195560441 +0200
@@ -28,7 +28,9 @@

 ; restrict login to specific corporations/alliances by id (e.g. 1000166,1000080)
 CORPORATION                 =
 ALLIANCE                    =
+BLACKLIST                   = "Bad Guy 1","Bad guy 2"
+

 ; View ============================================================================================
 [PATHFINDER.VIEW]

Please tell me if it's catastrophic ;)

A blacklist can be managed on the new admin interface: #494

:grey_exclamation: Duplicate Issue
Thanks for your contribution. There is already an open Issue about this topic. #494
Feel free to participate in the discussion and share your thoughts in the comments.
:x: Issue closed

Auto-generated response


feat: add hp MIB files

new HPe/Aruba mib file

There is an entire set of ARUBA* mibs that should be added:
ARUBA-MGMT-MIB
ARUBA-MIB
ARUBA-TC
ARUBA-VENDORTYPE
ARUBAWIRED-CHASSIS-MIB
ARUBAWIRED-CIPT-MIB
ARUBAWIRED-FAN-MIB
ARUBAWIRED-FANTRAY-MIB
ARUBAWIRED-LLDP-MIB
ARUBAWIRED-LOOPPROTECT-MIB
ARUBAWIRED-MCLAG-MIB
ARUBAWIRED-MGMD-RMON-TRAP-MIB
ARUBAWIRED-MGMD-SNOOPING-MIB
ARUBAWIRED-MSTP-MIB
ARUBAWIRED-MVRP-MIB
ARUBAWIRED-NETWORKING-OID
ARUBAWIRED-POE-MIB
ARUBAWIRED-POWERSUPPLY-MIB
ARUBAWIRED-RPVST-MIB
ARUBAWIRED-TEMPSENSOR-MIB
ARUBAWIRED-VSF-MIB
ARUBAWIRED-VSX-MIB

Hey, this PR will be continued here: https://github.com/pysnmp/mibs/pull/69

Hey @grandmasterlinux,
We released mibserver 1.15.4, this is how to upgrade your instance: DOCS
++ remember every time the pod is spinned up, new calico interfaces might be assigned, so you might need to add some more interfaces to calico zone and reload


Injection failed on linux with musl-libc

Description
RenderDoc fails to inject&capture applications running on a musl-libc based linux operating system.
This is not an issue with musl-libc but with renderdoc relying on glibc behavior (of running init calls before the program entry point).
Steps to reproduce
The execution environment matter (libc musl).
$ renderdoccmd capture ./run
Launching './run'
Failed to create & inject: RenderDoc injection failed: Couldn't connect to target program. Check that it didn't crash or exit during early initialisation, e.g. due to an incorrectly configured working directory.

Environment

RenderDoc version: renderdoccmd x64 v1.30 built from NO_GIT_COMMIT_HASH_DEFINED
Operating System: Linux 6.6.8, running with musl libc (Alpine Linux x86_64)
Graphics API: GL (not relevant)

Details
The issue is caused by the way RenderDoc hooks into Linux/POSIX processes.
Currently RenderDoc does some "magic" by setting a breakpoint (using ptrace) at the target entry point and expect init hooks in the target/child process to have ran before entering the entry point.
On Linux the program entry point is not the same as the main function (I don't know how this is done in Windows).
The libc is expected to go through the "C runtime" initialization before jumping into the application's main function.
In the case of musl-libc the init/constructor are called after the entry point and before the main function (as expected).
However RenderDoc stops the target at the entry point and waits for sockets to open, which is never the case on musl, thus fails with the error message injection failed: Couldn't connect to target program ...

I think RenderDoc simply need a synchronization with the child/target process after the target has initialized the socket used to communicate with the renderdoc capture.
I think this synchronization can be achieved using a simple signal syscall (without using ptrace). You can find a very simple implementation of this below (as an example).
// target.c
#include <stdio.h>
int main(int argc, char **argv, char **envp)
{
        fprintf(stderr, "main\n");
        return 0;
}

// hook.c
#include <stdio.h>
#include <signal.h>
__attribute__((constructor)) void hook(void)
{
        fprintf(stderr, "setup done\n");
        raise(SIGSTOP);
        fprintf(stderr, "hooked & resumed\n");
}

// main.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <sys/wait.h>
int main(int argc, char **argv, char **envp)
{
        pid_t pid;
        if (argc == 1) {
                fprintf(stderr, "usage: ./main <cmd> [arg...]\n");
                exit(1);
        }
        pid = fork();
        if (pid == -1) {
                fprintf(stderr, "fork %m\n");
                exit(1);
        }
        if (pid == 0) { /* child */
                extern char **environ;
                setenv("LD_PRELOAD", "./libhook.so", 1);
                execve(argv[1], argv + 1, environ);
        } else {
                int stat;
                waitpid(pid, &stat, WUNTRACED);
                fprintf(stderr, "do the hook\n");
                kill(pid, SIGCONT); /* resume the child */
        }
        return 0;
}

# Makefile
all: libhook.so main target
libhook.so: hook.c
        $(CC) -fPIC -shared -o $@ $^
main: main.c
        $(CC) -o $@ $^
target: target.c
        $(CC) -o $@ $^
clean:
        rm libhook.so main target

$ ./main target
setup done
do the hook
hooked & resumed
main

If musl varies in this way to be incompatible then I would not consider musl use as a supported configuration. If you want to use RenderDoc I would suggest then I would recommend re-linking your program against glibc, as I do not want to make extensive changes to the hooking in order to support multiple incompatible libcs.


[Editor] Fix property value showing '(Not supported)' for null values

PR Details

Fixes bug introduced by #646
Description

Can't just append the '(Not supported)' message to all objects.
A specific ObjectDescriptor type is needed to mark these types.
Related Issue

Fixes #650
Motivation and Context

Unfortunately, this means only multi-array types can be marked.
The problem is that some properties accept null as a valid object type (this outputs 'None'). There are also properties that accept an actual object, eg. the 'Sort Mode' on the render stage.
A minor issue is that things like DateTime will not say '(Not supported)', however it does already just say DateTime and isn't editable.
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

hah, congrats to the first Stride PR :)


extension mode configurable

This is to solve issue https://github.com/Azure/autorest.az/issues/351

/azp run


docs(manage-resources-containers): add volume and volumeMount for ephemeral storage

Fixes #20134
Signed-off-by: Jai Govindani<EMAIL_ADDRESS>

/lgtm

/approve


Render a union type for parsed instructions in js-experimental

This PR adds a new union type to each program, where each variant is an instructionType from its instruction types enum together with the parsed type. Eg:
export type ParsedMplTokenAuthRulesInstruction =
  | ({
      instructionType: MplTokenAuthRulesInstruction.CreateRuleSet;
    } & ParsedCreateRuleSetInstruction)
  | ({
      instructionType: MplTokenAuthRulesInstruction.Validate;
    } & ParsedValidateInstruction)
  | ({
      instructionType: MplTokenAuthRulesInstruction.CreateFrequencyRule;
    } & ParsedCreateFrequencyRuleInstruction);

This allows consumers to parse instructions and then pass them around as eg ParsedMplTokenAuthRulesInstruction. They can then use instructionType to distinguish the variants, and then access the known parsed type. Passing around ParsedCreateRuleSetInstruction is insufficient because it doesn't have an instruction type field that we can discriminate on.
This gives more flexibility, particularly to consumers that are dealing with parsed instructions from multiple programs.

Thanks Loris! Updated those, and added a test and changeset :)


Document self signed certificate handling

We introduced self signed certificate as the default ingress TLS cert for ingress nginx. We need to document it:

Where is it stored?
How to use it?
Examples of using it.

https://github.com/cnoe-io/idpbuilder/pull/316

https://github.com/cnoe-io/website/pull/50


tests: Enable vector search fullstack tests

What problem does this PR solve?
Issue Number: ref https://github.com/pingcap/tiflash/issues/9032
Problem Summary:
The feature branch is merged into tidb/tiflash master branch

https://github.com/pingcap/tidb/pull/56409
https://github.com/pingcap/tiflash/pull/9486

What is changed and how it works?

Enable fullstack tests on tiflash CI
Check List
Tests

[ ] Unit test
[x] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/test pull-integration-test

/test pull-integration-test

/test pull-unit-test


Add Butler.app v4.1.19

Thank you for the contribution. It was merged directly as d0011f9e71cc5b1330674bbb9582a90d484495c1 to keep commit history cleaner. Your contribution is still credited to you.


auto_convert_mixed_precision Error: two nodes with same node name error occurred during

I want to convert a model into an AMP model.
This is my code:
def convert_float32_to_mixed_precision(fp32_model_path, mixed_precision_model_path):
    from onnxconverter_common import auto_mixed_precision
    import onnx

    model = onnx.load(fp32_model_path)

    import numpy as np
    np.random.seed(123)
    test_data = {"image": 2*np.random.rand(1, 3, 640, 640).astype(np.float32)-1.0,"scale_factor":[[1,1]]}

    def validate(res1, res2):
        for r1, r2 in zip(res1, res2):
            if not np.allclose(r1, r2, rtol=0.01, atol=0.001):
                return False
        return True

    model_fp16 = auto_mixed_precision.auto_convert_mixed_precision(model, test_data, validate, keep_io_types=True)
    onnx.save(model_fp16, mixed_precision_model_path)

fp32_model_path = 'F32.onnx'
mixed_precision_model_path = 'AMP.onnx'

print("Convert to mixed precision starts...")
convert_float32_to_mixed_precision(fp32_model_path, mixed_precision_model_path)
print("Conversion finished.")

Using my model to run this code resulted in an error:1 : FAIL : This is an invalid model. Error: two nodes with same node name (_output_cast0).
But I don't have duplicate node names.
This is my model: Google Drive

@KunMengcode  Can I have you model to repro?

I am using the ONNX F32 model exported from the PPYOLOE model in the PaddleDetection library.
I think it should be equivalent to this？PPYOLOE_pytorch
(structurally)
And
[Baidu Yun Link]：https://pan.baidu.com/s/1BYw-tC3wqA5zpV90XeYvFQ?pwd=el24
[code]：el24

Did you fix this issue. I am fixing this problem

Did you fix this issue. I am fixing this problem

I haven't solved this problem yet

Did you fix this issue. I am fixing this problem

What is your situation @itapty-ily


Add Image in menu items.

Hi,
can we add image in menu items?

You can use custom cell.See IconsExample. And if you want you can use .nib.
pagingViewController.menuItemSource =  .nib(nib: UINib.init(nibName: "CollectionViewCell", bundle: nil))
Or much easier, is to make two uiview , and through delegate change image.


Adding reason for skipping the Scan Rule

Describe the bug
Currently, we skip the scan rule if any of the configurations for file upload are not set. But we are not indicating the reason for skipping the scan rule. Look at: https://github.com/SasanLabs/owasp-zap-fileupload-addon/pull/7#discussion_r692341701 for more information.

The rule is not being skipped yet, it's running for all messages (just not attacking them).

oh ok, but that should not be an issue as it is not firing any extra requests.

It's an issue in that it still does unnecessary work (e.g. checking/parsing all messages).

oh ok sure.
thanks

Following PR https://github.com/SasanLabs/owasp-zap-fileupload-addon/pull/10 will address this issue.

handled in https://github.com/SasanLabs/owasp-zap-fileupload-addon/releases/tag/1.1.0


Add github actions and remove azure pipelines

Close #33

[x] Update conda
[x] Install conda-build
[x] Linting with flake8
[x] Testing with pytest
[x] Packaging with conda-build
[x] Upload package
[ ] Upload Code coverage
[ ] Add weekly schedule

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@64b6fa7). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #34   +/-   ##
=========================================
  Coverage          ?   95.97%
=========================================
  Files             ?        4
  Lines             ?      199
  Branches          ?        0
=========================================
  Hits              ?      191
  Misses            ?        8
  Partials          ?        0

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 64b6fa7...548128e. Read the comment docs.


pushToken null on Android

When I run the app on an Android device in debug mode I get a null pushToken:

Here is my app/build.gradle and manifest.xml

turns out { exclude group: 'com.google.android.gms' } was stopping google messaging service (gcm) from working (duh). But without it, I run into multiple dex files problem during build, opening a new issue

@ddeanto  I have same issue,did you find solution?

Same error in version 3.2.7


Improving MongoDB chart NOTES.txt && Standardise Service Parameters

What this PR does / why we need it:
Improves the Notes displayed to the user when installing the MongoDB Chart:

Provides information about how to connect to MongoDB from outside the cluster.
Adds a Security Warning when using LoadBalancer as Service Type.

Standardise Service Parameters

Adapt values.yaml, svc.yaml and README.md

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:

/assign @mattfarina @sameersbn

/assign @tompizmor

/ok-to-test

/lgtm

/lgtm cancel

/lgtm


Native Web Component Support

Is this RFC superseded by https://github.com/salesforce/lwc-rfcs/pull/66 ?


Improved README and fixed a typo.

Description
The Pull Request updates the README.md adding an improvement in introduction line and fixed a typo as well.
Related Issues

The introductory line about Flutter was not well defined. This PR adds a more clear and defining line.
There was a typo in the README.md file where "Chrome" was mentioned as "Chome". This PR fixes that.

Tests
I added the following tests:
Replace this with a list of the tests that you added as part of this PR. A change in behavior with no test covering it
will likely get reverted accidentally sooner or later. PRs must include tests for all changed/updated/fixed behaviors. See Test Coverage.
Checklist
Before you create this PR, confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I updated/added relevant documentation (doc comments with ///).
[ ] All existing and new tests are passing.
[ ] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.

[ ] No, no existing tests failed, so this is not a breaking change.
[ ] Yes, this is a breaking change. If not, delete the remainder of this section.

[ ] I wrote a design doc: https://flutter.dev/go/template Replace this with a link to your design doc's short link
[ ] I got input from the developer relations team, specifically from: Replace with the names of who gave advice
[ ] I wrote a migration guide: https://flutter.dev/go/breaking-changes-template Replace this with a link to a pull request that adds the migration guide to https://flutter.dev/docs/release/breaking-changes

@goderbauer Sir, please let me know why this Pull Request was marked as invalid. I would like to improve and add positive contributions to the Flutter repository.

The typo has already been fixed a while ago, see https://github.com/flutter/flutter/blob/master/README.md.
And the other thing is basically rephrasing what is already in the readme.

Ok, Thank You.


Wallet Header Numbers Not Updating

Numbers in wallet header don't change when new coins arrive
Can you reliably reproduce the issue?
If so, please list the steps to reproduce below:

Receive stake reward

Expected behavior
I expect the numbers to change as coins arrive and mature.
Actual behavior

New Coins arrive

Available does not reflect new coins
Pending does not reflect new coins
Immature does not reflect new coins

New coins have 6 confirms

Available does not reflect new coins
Pending does not reflect new coins
Immature does not reflect new coins

New coins have 177 confirms

Available does not reflect new coins
Pending does not reflect new coins
Immature does not reflect new coins

Screenshots.
If the issue is related to the GUI, screenshots can be added to this issue via drag & drop.

What version of ELONCOIN Core are you using?
List the version number/commit ID, and if it is an official binary, self compiled or a distribution package.
V1.0.0 'official binary'
Machine specs:

OS: Win 10 Pro with more than sufficient capability

Additional info...
Ref the above:  Sending 1 EMC to a friend triggered an update of the wallet so that the "Available" balance included all available coin.
 The transaction the 1 EMC came out of was marked as "Pending".  It remained in "pending" for more than 18 hours, even after the transaction and the remainder had more than 600 confirms.  'Getstakingstatus' in console reported accurately, but the wallet display "stayed stuck" - it did not update - until the wallet was shut down and restarted.


HTTPS for standalone usage

Hello,
I want launch ohif with ssl certificate, but since the new version i can't do it.
I tried without success with webpack-dev-server.
Do you have an idea or solution please?
In anay case, thank you for your work.

@DICOMSOFT, I'm not entirely sure I follow. The OHIF Viewer is a collection of static assets. Whatever server is hosting the assets is responsible for SSL.
If you need your development instance to use SSL, you should be able to configure it using the instructions laid out here: https://webpack.js.org/configuration/dev-server/#devserverhttps

@DICOMSOFT, you can run the yarn run build:web command in your OHIF application directory and then drag and drop the build folder to Netlify Drop, you'll get a deployed version with HTTPS.
If you're not happy with Netlify's default HTTPS settings you can easily change them, it's very user-friendly.


Add github actions, update components.yaml

Description

This PR does a few things:

Adds a configuration to use Github Actions in a thought to perhaps removing CircleCI at some point
Update CircleCI to use --output-on-failure
Update components.yaml to match that in GEOSgcm

Related Issue

Fixes #286
Fixes #285
Motivation and Context

The components.yaml file should be up-to-date with GEOSgcm
Github has its own CI that might be better than CircleCI

How Has This Been Tested?

This can't affect much of anything
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Trivial change (affects only documentation or cleanup)

Checklist:

[ ] I have tested this change with a run of GEOSgcm (if non-trivial)
[X] I have added one of the required labels (0 diff, 0 diff trivial, 0 diff structural, non 0-diff)
[X] I have updated the CHANGELOG.md accordingly following the style of Keep a Changelog

I wonder who will be faster: CircleCI or Github Actions? 😄


Report server process death during startup properly

@jamezp could you please review and eventually merge? This is the very same issue as I fixed in https://github.com/wildfly/wildfly-arquillian/pull/73

I've add similar changes in https://github.com/wildfly/wildfly-maven-plugin/pull/98. This should hopefully give some better error messages.