2025-07-15 20:31.44: New job: test ahrefs/ocannl https://github.com/ahrefs/ocannl.git#refs/heads/master (e02848820eca78fbfa761b17fe24fcf53fb8e966) (linux-x86_64:alpine-3.21-5.3_opam-2.3)Base: ocaml/opam:alpine-3.21-ocaml-5.3@sha256:04615dc1fa88c0285b28799f65b32f2814c854db498aea42fb9ff8c430a28380Opam project buildTo reproduce locally:git clone --recursive "https://github.com/ahrefs/ocannl.git" -b "master" && cd "ocannl" && git reset --hard e0284882cat > Dockerfile <<'END-OF-DOCKERFILE'FROM ocaml/opam:alpine-3.21-ocaml-5.3@sha256:04615dc1fa88c0285b28799f65b32f2814c854db498aea42fb9ff8c430a28380# alpine-3.21-5.3_opam-2.3USER 1000:1000ENV CLICOLOR_FORCE="1"ENV OPAMCOLOR="always"WORKDIR /srcRUN sudo ln -f /usr/bin/opam-2.3 /usr/bin/opamRUN opam init --reinit -niRUN uname -rs && opam exec -- ocaml -version && opam --versionWORKDIR /srcRUN sudo chown opam /srcRUN cd ~/opam-repository && (git cat-file -e 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 || git fetch origin master) && git reset -q --hard 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 && git log --no-decorate -n1 --oneline && opam update -uCOPY --chown=1000:1000 neural_nets_lib.opam arrayjit.opam ./RUN opam pin add -yn neural_nets_lib.dev './' && \opam pin add -yn arrayjit.dev './'RUN echo '(lang dune 3.0)' > './dune-project'ENV DEPS="angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 camlzip.1.13 cmdliner.1.3.0 conf-libcurl.2 conf-libffi.2.0.0 conf-pkg-config.4 conf-zlib.1 cppo.1.8.0 csexp.1.5.2 csv.2.4 ctypes.0.23.0 ctypes-foreign.0.23.0 curl.0.10.0 dune.3.19.1 dune-configurator.3.19.1 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.1.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.1 ppx_minidebug.2.3.0 ppx_optcomp.v0.17.1 ppx_sexp_conv.v0.17.1 ppx_string.v0.17.0 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.13.2 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0"ENV CI="true"ENV OCAMLCI="true"RUN opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPSRUN opam install $DEPSCOPY --chown=1000:1000 . /srcRUN opam exec -- dune build @install @check @runtest && rm -rf _buildEND-OF-DOCKERFILEdocker build .END-REPRO-BLOCK2025-07-15 20:31.44: Using cache hint "ahrefs/ocannl-ocaml/opam:alpine-3.21-ocaml-5.3@sha256:04615dc1fa88c0285b28799f65b32f2814c854db498aea42fb9ff8c430a28380-alpine-3.21-5.3_opam-2.3-ee06dfbb3e21290708c2c8a6224283e3"2025-07-15 20:31.44: Using OBuilder spec:((from ocaml/opam:alpine-3.21-ocaml-5.3@sha256:04615dc1fa88c0285b28799f65b32f2814c854db498aea42fb9ff8c430a28380)(comment alpine-3.21-5.3_opam-2.3)(user (uid 1000) (gid 1000))(env CLICOLOR_FORCE 1)(env OPAMCOLOR always)(workdir /src)(run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))(run (shell "opam init --reinit -ni"))(run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))(workdir /src)(run (shell "sudo chown opam /src"))(run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "cd ~/opam-repository && (git cat-file -e 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 || git fetch origin master) && git reset -q --hard 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 && git log --no-decorate -n1 --oneline && opam update -u"))(copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))(run (network host)(shell "opam pin add -yn neural_nets_lib.dev './' && \\nopam pin add -yn arrayjit.dev './'"))(run (network host)(shell "echo '(lang dune 3.0)' > './dune-project'"))(env DEPS "angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 camlzip.1.13 cmdliner.1.3.0 conf-libcurl.2 conf-libffi.2.0.0 conf-pkg-config.4 conf-zlib.1 cppo.1.8.0 csexp.1.5.2 csv.2.4 ctypes.0.23.0 ctypes-foreign.0.23.0 curl.0.10.0 dune.3.19.1 dune-configurator.3.19.1 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.1.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.1 ppx_minidebug.2.3.0 ppx_optcomp.v0.17.1 ppx_sexp_conv.v0.17.1 ppx_string.v0.17.0 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.13.2 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0")(env CI true)(env OCAMLCI true)(run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS"))(run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "opam install $DEPS"))(copy (src .) (dst /src))(run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")))2025-07-15 20:31.44: Waiting for resource in pool OCluster2025-07-15 20:31.45: Waiting for worker…2025-07-15 20:36.40: Got resource from pool OClusterBuilding on odawa.caelum.ci.devAll commits already cachedHEAD is now at e0284882 Sort Tnode headers before logging them(from ocaml/opam:alpine-3.21-ocaml-5.3@sha256:04615dc1fa88c0285b28799f65b32f2814c854db498aea42fb9ff8c430a28380)2025-07-15 20:51.23 ---> using "b1eb2a8af4058a254870e5cad61297a06793cbcf25fc0fa70ddab0692ceef147" from cache/: (comment alpine-3.21-5.3_opam-2.3)/: (user (uid 1000) (gid 1000))/: (env CLICOLOR_FORCE 1)/: (env OPAMCOLOR always)/: (workdir /src)/src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))2025-07-15 20:51.23 ---> saved as "72a43fed50ca4b22fad6057f4d18290b4cb956a1be690ef2ac7f62bd3176987a"/src: (run (shell "opam init --reinit -ni"))Configuring from /home/opam/.opamrc and then from built-in defaults.Checking for available remotes: rsync and local, git.- you won't be able to use mercurial repositories unless you install the hg command on your system.- you won't be able to use darcs repositories unless you install the darcs command on your system.This development version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.You may want to back it up before going further.Continue? [y/n] yFormat upgrade done.<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>[default] Initialised2025-07-15 20:51.43 ---> saved as "dffd9938039301ebc6cca6d597e878cfb8a245c9dfa32f07900ab56da35e37dc"/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))Linux 6.8.0-60-genericThe OCaml toplevel, version 5.3.02.3.02025-07-15 20:51.43 ---> saved as "8f9a1993785784c76c1507256d4c3a0742ea404a0d05aaa640ab910b812307e9"/src: (workdir /src)/src: (run (shell "sudo chown opam /src"))2025-07-15 20:51.43 ---> saved as "d0c65e3f07a69cbc2fcd3ad4787a51328d54858d7b412a5dcb90232d4889600b"/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "cd ~/opam-repository && (git cat-file -e 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 || git fetch origin master) && git reset -q --hard 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 && git log --no-decorate -n1 --oneline && opam update -u"))From https://github.com/ocaml/opam-repository* branch master -> FETCH_HEAD6dea2f9390..fb593fd723 master -> origin/master64169c3d1d Merge pull request #28149 from dbuenzli/b0-publish-logs.0.9.0<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>[default] synchronised from git+file:///home/opam/opam-repositoryEverything as up-to-date as possible (run with --verbose to show unavailable upgrades).However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages.Nothing to do.# To update the current shell environment, run: eval $(opam env)2025-07-15 20:52.00 ---> saved as "3f9aba96ac7a1654110ad5283d4982861b08bd9757244130aaa4d9e51eeeba9b"/src: (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))2025-07-15 20:52.00 ---> saved as "491ef324c749344438559e51fe82f034c2b4e4da04b44daf62a1a595288d145f"/src: (run (network host)(shell "opam pin add -yn neural_nets_lib.dev './' && \\nopam pin add -yn arrayjit.dev './'"))[neural_nets_lib.dev] synchronised (file:///src)neural_nets_lib is now pinned to file:///src (version dev)[arrayjit.dev] synchronised (file:///src)arrayjit is now pinned to file:///src (version dev)2025-07-15 20:52.03 ---> saved as "a7d8da6b00a43533102b7f81275e435588cfa02e7849ec55e2ed6877a1c8830c"/src: (run (network host)(shell "echo '(lang dune 3.0)' > './dune-project'"))2025-07-15 20:52.03 ---> saved as "d6c480068350a06691a677f00217bbb777850e27f8e462e10080cd62391bb32f"/src: (env DEPS "angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 camlzip.1.13 cmdliner.1.3.0 conf-libcurl.2 conf-libffi.2.0.0 conf-pkg-config.4 conf-zlib.1 cppo.1.8.0 csexp.1.5.2 csv.2.4 ctypes.0.23.0 ctypes-foreign.0.23.0 curl.0.10.0 dune.3.19.1 dune-configurator.3.19.1 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.1.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.1 ppx_minidebug.2.3.0 ppx_optcomp.v0.17.1 ppx_sexp_conv.v0.17.1 ppx_string.v0.17.0 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.13.2 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0")/src: (env CI true)/src: (env OCAMLCI true)/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS"))+ /usr/bin/sudo "apk" "update"- fetch https://dl-cdn.alpinelinux.org/alpine/v3.21/main/x86_64/APKINDEX.tar.gz- fetch https://dl-cdn.alpinelinux.org/alpine/v3.21/community/x86_64/APKINDEX.tar.gz- fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz- fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz- fetch https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz- v3.21.3-659-g65d7de3fa8a [https://dl-cdn.alpinelinux.org/alpine/v3.21/main]- v3.21.3-657-gfc00cab06e0 [https://dl-cdn.alpinelinux.org/alpine/v3.21/community]- v3.23.0_alpha20250612-2383-g47e9a13bd67 [https://dl-cdn.alpinelinux.org/alpine/edge/main]- v3.23.0_alpha20250612-2485-gb4a14bfa33e [https://dl-cdn.alpinelinux.org/alpine/edge/community]- v3.23.0_alpha20250612-2480-g2c4ab42f68e [https://dl-cdn.alpinelinux.org/alpine/edge/testing]- OK: 59075 distinct packages available<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>[arrayjit.dev] synchronised (file:///src)[neural_nets_lib.dev] synchronised (file:///src)[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).[NOTE] Package ocaml-config is already installed (current version is 3).[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).[NOTE] Package ocaml is already installed (current version is 5.3.0).[NOTE] Package base-unix is already installed (current version is base).[NOTE] Package base-threads is already installed (current version is base).[NOTE] Package base-nnp is already installed (current version is base).[NOTE] Package base-effects is already installed (current version is base).[NOTE] Package base-domains is already installed (current version is base).[NOTE] Package base-bigarray is already installed (current version is base).The following system packages will first need to be installed:curl-dev libffi-dev zlib-dev<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>+ /usr/bin/sudo "apk" "add" "curl-dev" "libffi-dev" "zlib-dev"- (1/15) Upgrading libcrypto3 (3.3.3-r0 -> 3.3.4-r0)- (2/15) Upgrading libssl3 (3.3.3-r0 -> 3.3.4-r0)- (3/15) Installing brotli (1.1.0-r2)- (4/15) Installing brotli-dev (1.1.0-r2)- (5/15) Installing c-ares-dev (1.34.5-r0)- (6/15) Installing libidn2-dev (2.3.7-r0)- (7/15) Installing libpsl-utils (0.21.5-r3)- (8/15) Installing libpsl-dev (0.21.5-r3)- (9/15) Installing nghttp2-dev (1.64.0-r0)- (10/15) Installing openssl-dev (3.3.4-r0)- (11/15) Installing zlib-dev (1.3.1-r2)- (12/15) Installing zstd-dev (1.5.6-r2)- (13/15) Installing curl-dev (8.12.1-r1)- (14/15) Installing linux-headers (6.6-r1)- (15/15) Installing libffi-dev (3.4.7-r0)- Executing busybox-1.37.0-r12.trigger- Executing ca-certificates-20241121-r1.trigger- OK: 317 MiB in 115 packages2025-07-15 20:52.12 ---> saved as "ccc66300745983069d411af699905a3e59bf29147f07943986ec7e967f60f585"/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "opam install $DEPS"))[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).[NOTE] Package ocaml-config is already installed (current version is 3).[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).[NOTE] Package ocaml is already installed (current version is 5.3.0).[NOTE] Package base-unix is already installed (current version is base).[NOTE] Package base-threads is already installed (current version is base).[NOTE] Package base-nnp is already installed (current version is base).[NOTE] Package base-effects is already installed (current version is base).[NOTE] Package base-domains is already installed (current version is base).[NOTE] Package base-bigarray is already installed (current version is base).The following actions will be performed:=== install 81 packages- install angstrom 0.16.1- install astring 0.8.5- install backoff 0.1.1- install base v0.17.3- install base-bytes base- install bigarray-compat 1.1.0- install bigstringaf 0.10.0- install camlp-streams 5.0.1- install camlzip 1.13- install cmdliner 1.3.0- install conf-libcurl 2- install conf-libffi 2.0.0- install conf-pkg-config 4- install conf-zlib 1- install cppo 1.8.0- install csexp 1.5.2- install csv 2.4- install ctypes 0.23.0- install ctypes-foreign 0.23.0- install curl 0.10.0- install dune 3.19.1- install dune-configurator 3.19.1- install fieldslib v0.17.0- install fmt 0.10.0- install integers 0.7.0- install jane-street-headers v0.17.0- install jst-config v0.17.0- install logs 0.9.0- install mdx 2.5.0- install mtime 2.1.0- install multicore-magic 2.3.1- install num 1.6- install ocaml-compiler-libs v0.17.0- install ocaml-syntax-shims 1.0.0- install ocaml-version 4.0.1- install ocaml_intrinsics_kernel v0.17.1- install ocamlbuild 0.16.1- install ocamlfind 1.9.8- install parsexp v0.17.0- install pprint 20230830- install ppx_assert v0.17.0- install ppx_base v0.17.0- install ppx_cold v0.17.0- install ppx_compare v0.17.0- install ppx_derivers 1.2.1- install ppx_deriving 6.1.0- install ppx_enumerate v0.17.0- install ppx_expect v0.17.3- install ppx_fields_conv v0.17.0- install ppx_globalize v0.17.2- install ppx_hash v0.17.0- install ppx_here v0.17.0- install ppx_inline_test v0.17.1- install ppx_minidebug 2.3.0- install ppx_optcomp v0.17.1- install ppx_sexp_conv v0.17.1- install ppx_string v0.17.0- install ppx_variants_conv v0.17.1- install ppxlib 0.36.0- install ppxlib_jane v0.17.4- install printbox 0.12- install printbox-ext-plot 0.12- install printbox-html 0.12- install printbox-md 0.12- install printbox-text 0.12- install ptime 1.2.0- install re 1.13.2- install result 1.5- install saturn_lockfree 0.5.0- install seq base- install sexplib v0.17.0- install sexplib0 v0.17.0- install stdio v0.17.0- install stdlib-shims 0.3.0- install thread-local-storage 0.2- install time_now v0.17.0- install topkg 1.0.8- install tyxml 4.6.0- install uucp 16.0.0- install uutf 1.0.4- install variantslib v0.17.0<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>-> retrieved backoff.0.1.1 (cached)-> retrieved astring.0.8.5 (cached)-> retrieved angstrom.0.16.1 (cached)-> retrieved base.v0.17.3 (cached)-> retrieved bigarray-compat.1.1.0 (cached)-> retrieved bigstringaf.0.10.0 (cached)-> retrieved camlp-streams.5.0.1 (cached)-> retrieved camlzip.1.13 (cached)-> retrieved cmdliner.1.3.0 (cached)-> retrieved cppo.1.8.0 (cached)-> installed conf-libcurl.2-> installed conf-pkg-config.4-> retrieved csexp.1.5.2 (cached)-> retrieved csv.2.4 (cached)-> retrieved ctypes.0.23.0, ctypes-foreign.0.23.0 (cached)-> installed conf-libffi.2.0.0-> installed conf-zlib.1-> retrieved curl.0.10.0 (cached)-> retrieved fieldslib.v0.17.0 (cached)-> retrieved integers.0.7.0 (cached)-> retrieved fmt.0.10.0 (cached)-> retrieved jane-street-headers.v0.17.0 (cached)-> retrieved jst-config.v0.17.0 (cached)-> retrieved logs.0.9.0 (cached)-> retrieved mtime.2.1.0 (cached)-> retrieved multicore-magic.2.3.1 (cached)-> retrieved mdx.2.5.0 (cached)-> retrieved num.1.6 (cached)-> retrieved ocaml-compiler-libs.v0.17.0 (cached)-> retrieved ocaml-syntax-shims.1.0.0 (cached)-> retrieved ocaml-version.4.0.1 (cached)-> retrieved ocaml_intrinsics_kernel.v0.17.1 (cached)-> retrieved ocamlbuild.0.16.1 (cached)-> retrieved ocamlfind.1.9.8 (cached)-> retrieved parsexp.v0.17.0 (cached)-> retrieved pprint.20230830 (cached)-> retrieved ppx_assert.v0.17.0 (cached)-> retrieved ppx_base.v0.17.0 (cached)-> retrieved dune.3.19.1, dune-configurator.3.19.1 (cached)-> retrieved ppx_cold.v0.17.0 (cached)-> retrieved ppx_compare.v0.17.0 (cached)-> retrieved ppx_derivers.1.2.1 (cached)-> retrieved ppx_enumerate.v0.17.0 (cached)-> retrieved ppx_deriving.6.1.0 (cached)-> retrieved ppx_expect.v0.17.3 (cached)-> retrieved ppx_fields_conv.v0.17.0 (cached)-> retrieved ppx_globalize.v0.17.2 (cached)-> installed cmdliner.1.3.0-> installed num.1.6-> installed ocamlbuild.0.16.1-> retrieved ppx_hash.v0.17.0 (cached)-> retrieved ppx_here.v0.17.0 (cached)-> retrieved ppx_inline_test.v0.17.1 (cached)-> retrieved ppx_optcomp.v0.17.1 (cached)-> retrieved ppx_sexp_conv.v0.17.1 (cached)-> retrieved ppx_string.v0.17.0 (cached)-> retrieved ppx_variants_conv.v0.17.1 (cached)-> retrieved ppx_minidebug.2.3.0 (cached)-> retrieved ppxlib_jane.v0.17.4 (cached)-> retrieved ptime.1.2.0 (cached)-> retrieved ppxlib.0.36.0 (cached)-> retrieved re.1.13.2 (cached)-> retrieved result.1.5 (cached)-> retrieved seq.base (cached)-> installed seq.base-> retrieved sexplib.v0.17.0 (cached)-> retrieved saturn_lockfree.0.5.0 (cached)-> retrieved sexplib0.v0.17.0 (cached)-> retrieved stdio.v0.17.0 (cached)-> retrieved stdlib-shims.0.3.0 (cached)-> retrieved thread-local-storage.0.2 (cached)-> retrieved time_now.v0.17.0 (cached)-> retrieved printbox.0.12, printbox-ext-plot.0.12, printbox-html.0.12, printbox-md.0.12, printbox-text.0.12 (cached)-> retrieved topkg.1.0.8 (cached)-> retrieved tyxml.4.6.0 (cached)-> retrieved uutf.1.0.4 (cached)-> retrieved variantslib.v0.17.0 (cached)-> retrieved uucp.16.0.0 (cached)-> installed ocamlfind.1.9.8-> installed base-bytes.base-> installed camlzip.1.13-> installed topkg.1.0.8-> installed uutf.1.0.4-> installed mtime.2.1.0-> installed fmt.0.10.0-> installed ptime.1.2.0-> installed astring.0.8.5-> installed logs.0.9.0-> installed dune.3.19.1-> installed jane-street-headers.v0.17.0-> installed ppx_derivers.1.2.1-> installed csexp.1.5.2-> installed backoff.0.1.1-> installed bigarray-compat.1.1.0-> installed camlp-streams.5.0.1-> installed cppo.1.8.0-> installed csv.2.4-> installed multicore-magic.2.3.1-> installed ocaml-compiler-libs.v0.17.0-> installed ocaml-syntax-shims.1.0.0-> installed ocaml-version.4.0.1-> installed ocaml_intrinsics_kernel.v0.17.1-> installed pprint.20230830-> installed printbox.0.12-> installed re.1.13.2-> installed result.1.5-> installed sexplib0.v0.17.0-> installed stdlib-shims.0.3.0-> installed thread-local-storage.0.2-> installed saturn_lockfree.0.5.0-> installed integers.0.7.0-> installed parsexp.v0.17.0-> installed dune-configurator.3.19.1-> installed bigstringaf.0.10.0-> installed sexplib.v0.17.0-> installed mdx.2.5.0-> installed tyxml.4.6.0-> installed angstrom.0.16.1-> installed printbox-html.0.12-> installed curl.0.10.0-> installed uucp.16.0.0-> installed printbox-text.0.12-> installed printbox-md.0.12-> installed ctypes.0.23.0-> installed printbox-ext-plot.0.12-> installed base.v0.17.3-> installed fieldslib.v0.17.0-> installed variantslib.v0.17.0-> installed stdio.v0.17.0-> installed ctypes-foreign.0.23.0-> installed ppxlib.0.36.0-> installed ppx_optcomp.v0.17.1-> installed ppxlib_jane.v0.17.4-> installed ppx_cold.v0.17.0-> installed ppx_here.v0.17.0-> installed ppx_variants_conv.v0.17.1-> installed ppx_fields_conv.v0.17.0-> installed ppx_enumerate.v0.17.0-> installed ppx_globalize.v0.17.2-> installed ppx_deriving.6.1.0-> installed ppx_compare.v0.17.0-> installed ppx_sexp_conv.v0.17.1-> installed ppx_hash.v0.17.0-> installed ppx_assert.v0.17.0-> installed ppx_minidebug.2.3.0-> installed ppx_base.v0.17.0-> installed jst-config.v0.17.0-> installed ppx_string.v0.17.0-> installed time_now.v0.17.0-> installed ppx_inline_test.v0.17.1-> installed ppx_expect.v0.17.3Done.# To update the current shell environment, run: eval $(opam env)2025-07-15 20:53.10 ---> saved as "e87220be021c1f237769871505436dbde675ba40bfe94f1a0edef90ab08915c3"/src: (copy (src .) (dst /src))2025-07-15 20:53.11 ---> saved as "7757d3727827bd4a3164d54ad7fcf986e60d89704267e7b17828ff8d692c352c"/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))File "arrayjit/test/dune", line 6, characters 16-24:6 | (pps ppx_here ppx_jane)))^^^^^^^^Error: Library "ppx_jane" not found.-> required by_build/default/arrayjit/test/.merlin-conf/exe-test_numerical_types-> required by alias arrayjit/test/check(cd _build/default/test/operations/config && ../../../arrayjit/bin/read_config.exe --read=backend)Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/operations/config/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileWrote value of 'backend' to ocannl_backend.txtFile "test/einsum/test_print_style.expected", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/test_print_style.expected _build/default/test/einsum/test_print_style.exe.outputdiff --git a/_build/default/test/einsum/test_print_style.expected b/_build/default/test/einsum/test_print_style.exe.outputindex 5151f60..80ff444 100644--- a/_build/default/test/einsum/test_print_style.expected+++ b/_build/default/test/einsum/test_print_style.exe.output@@ -1,5 +1,5 @@-Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/einsum/ocannl_config.+Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileTesting print_style functionality:File "test/einsum/test_conv_syntax.expected", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/test_conv_syntax.expected _build/default/test/einsum/test_conv_syntax.exe.outputdiff --git a/_build/default/test/einsum/test_conv_syntax.expected b/_build/default/test/einsum/test_conv_syntax.exe.outputindex 7098c49..02f1b08 100644--- a/_build/default/test/einsum/test_conv_syntax.expected+++ b/_build/default/test/einsum/test_conv_syntax.exe.output@@ -1,5 +1,5 @@-Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/einsum/ocannl_config.+Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileTesting conv syntax parsing...(cd _build/default/test/ppx && ./test_ppx_op.exe)Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/ppx/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/default/test/ppx && ./test_ppx_op_expected.exe)Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/ppx/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/72917cd86ffc4db01f43464b1d5f4d19/default/test/einsum && .einsum_tutorials.inline-tests/inline-test-runner.exe inline-test-runner einsum_tutorials -partition '' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/72917cd86ffc4db01f43464b1d5f4d19/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/72917cd86ffc4db01f43464b1d5f4d19/default/test/einsum && .einsum_tutorials.inline-tests/inline-test-runner.exe inline-test-runner einsum_tutorials -partition 'Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/f2255c624010dba938ae949a64cf409e/default/test/einsum/ocannl_config.' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/72917cd86ffc4db01f43464b1d5f4d19/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/72917cd86ffc4db01f43464b1d5f4d19/default/test/einsum && .einsum_tutorials.inline-tests/inline-test-runner.exe inline-test-runner einsum_tutorials -partition 'Retrieving commandline, environment, or config file variable ocannl_log_level' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/72917cd86ffc4db01f43464b1d5f4d19/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/72917cd86ffc4db01f43464b1d5f4d19/default/test/einsum && .einsum_tutorials.inline-tests/inline-test-runner.exe inline-test-runner einsum_tutorials -partition 'Found 0, in the config file' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/72917cd86ffc4db01f43464b1d5f4d19/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition '' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition 'Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/665f0bc81530d4315922fdd4eedefc8c/default/test/operations/ocannl_config.' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition 'Retrieving commandline, environment, or config file variable ocannl_log_level' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition 'Found 0, in the config file' -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileFile "test/operations/dune", lines 19-29, characters 0-281:19 | (rule20 | (alias runtest)21 | (target22 | (dir log_files))23 | (action24 | (run25 | %{dep:micrograd_demo_logging.exe}26 | "--ocannl_debug_backend=text"27 | "--ocannl_log_file_stem=micrograd_demo_logging"28 | "--ocannl_log_main_domain_to_stdout=false"29 | "--ocannl_debug_log_to_stream_files=true")))(cd _build/default/test/operations && ./micrograd_demo_logging.exe --ocannl_debug_backend=text --ocannl_log_file_stem=micrograd_demo_logging --ocannl_log_main_domain_to_stdout=false --ocannl_debug_log_to_stream_files=true)Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileRetrieving commandline, environment, or config file variable ocannl_backendFound multicore_cc, in the config fileRetrieving commandline, environment, or config file variable ocannl_limit_constant_fill_sizeNot found, using default 256Retrieving commandline, environment, or config file variable ocannl_cd_ident_styleNot found, using default heuristicRetrieving commandline, environment, or config file variable ocannl_ll_ident_styleNot found, using default heuristicRetrieving commandline, environment, or config file variable ocannl_prefer_backend_uniformityFound true, in the config fileRetrieving commandline, environment, or config file variable ocannl_debug_log_to_stream_filesFound true, commandline --ocannl_debug_log_to_stream_files=trueRetrieving commandline, environment, or config file variable ocannl_cc_backend_optimization_levelNot found, using default 3Retrieving commandline, environment, or config file variable ocannl_cc_backend_compiler_commandNot found, using default gccRetrieving commandline, environment, or config file variable ocannl_cc_backend_verify_codesignNot found, using default falseFatal error: exception File "src/printbox-text/PrintBox_text.ml", line 212, characters 6-12: Assertion failedRaised at PrintBox_text.Output.Make_out.to_buf_aux_ in file "src/printbox-text/PrintBox_text.ml", line 212, characters 6-50Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 19-42Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41Called from PrintBox_text.Output.Make_out.render in file "src/printbox-text/PrintBox_text.ml", line 242, characters 14-64Called from PrintBox_text.output in file "src/printbox-text/PrintBox_text.ml", line 851, characters 2-31Called from Minidebug_runtime.PrintBox.output_box in file "minidebug_runtime.ml", line 1527, characters 19-59Called from Minidebug_runtime.PrintBox.close_log_impl.close_tree in file "minidebug_runtime.ml", line 1572, characters 6-38Called from Backends.Add_buffer_retrieval_and_syncing.sync_routine in file "arrayjit/lib/backends.ml", lines 206-234, characters 31-82Called from Backends.Raise_backend.link in file "arrayjit/lib/backends.ml", lines 538-539, characters 4-92Re-raised at Backends.Raise_backend.link in file "arrayjit/lib/backends.ml", lines 525-539, characters 23-92Called from Dune__exe__Micrograd_demo_logging in file "test/operations/micrograd_demo_logging.ml", line 36, characters 13-76(cd _build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition primitive_ops.ml -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config file(cd _build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition zero2hero_1of7.ml -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileFile "test/einsum/moons_demo_variant.expected", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/moons_demo_variant.expected _build/default/test/einsum/moons_demo_variant.exe.outputdiff --git a/_build/default/test/einsum/moons_demo_variant.expected b/_build/default/test/einsum/moons_demo_variant.exe.outputindex 5e95220..b7d62c2 100644--- a/_build/default/test/einsum/moons_demo_variant.expected+++ b/_build/default/test/einsum/moons_demo_variant.exe.output@@ -1,5 +1,5 @@-Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/einsum/ocannl_config.+Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileTnode: collecting accessible arrays...(cd _build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations && .operations_tutorials.inline-tests/inline-test-runner.exe inline-test-runner operations_tutorials -partition hello_world_op.ml -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileFile "test/operations/zero2hero_1of7.ml", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/operations/zero2hero_1of7.ml _build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations/zero2hero_1of7.ml.correcteddiff --git a/_build/default/test/operations/zero2hero_1of7.ml b/_build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations/zero2hero_1of7.ml.correctedindex 2fe7000..3aeefc0 100644--- a/_build/default/test/operations/zero2hero_1of7.ml+++ b/_build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations/zero2hero_1of7.ml.corrected@@ -30,24 +30,24 @@ let%expect_test "Graph drawing recompile" =Tensor.print_tree ~with_grad:true ~depth:9 f_nd;[%expect{|- #15 +_f_nd- 6.00e+1- #16 grad_+_f_nd Virt/30- <void>- #13 - Virt/152 │#2 5. Virt/40- <void> │<void>- #14 grad_- Virt/30 │- <void> │- #11 *. Virt/152 │ #4 *. Virt/152 │- <void> │ <void> │- #12 grad_*. Virt/30 │ #5 grad_*. Virt/30 │- <void> │ <void> │- #10 3. Virt/40│#7 **. Virt/152 │#3 4. Virt/40│#0 x │- <void> │<void> │<void> │ 5.00 │- │#8 grad_**. Virt/30│ │#1 grad_x Local/30│- │<void> │ │<void> │- │[0]│ #6 2. Virt/40 │ │ │- │ │ <void> │ │ │+ #15 +_f_nd+ 6.00e+1+ #16 grad_+_f_nd Virt/30+ <void>+ #13 - Virt/152 │#2 5. Virt/40+ <void> │<void>+ #14 grad_- Virt/30 │+ <void> │+ #11 *. Virt/152 │#4 *. Virt/152 │+ <void> │<void> │+ #12 grad_*. Virt/30 │#5 grad_*. Virt/30│+ <void> │<void> │+ #10 3. Virt/40│#7 **. Virt/152 │#3 4. Virt/40│[0] │+ <void> │<void> │<void> │ │+ │#8 grad_**. Virt/30│ │ │+ │<void> │ │ │+ │[0]│ #6 2. Virt/40 │ │ │+ │ │ <void> │ │ │|}];let%op f = (3 *. ("x" [ 5 ] **. 2)) - (4 *. x) + 5 inTrain.every_non_literal_on_host f;@@ -59,24 +59,24 @@ let%expect_test "Graph drawing recompile" =Tensor.print_tree ~with_grad:true ~depth:9 f;[%expect{|- #32 +_f- 6.00e+1- #33 grad_+_f- 1.00- #30 - │#19 5. Virt/40- 5.50e+1 │<void>- #31 grad_- │- 1.00 │- #28 *. │ #21 *. │- 7.50e+1 │ 2.00e+1 │- #29 grad_*. │ #22 grad_*. │- 1.00 │ -1.00 │- #27 3. Virt/40│ #24 **. │#20 4. Virt/40│#17 x │- <void> │ 2.50e+1 │<void> │ 5.00 │- │ #25 grad_**. │ │#18 grad_x│- │ 3.00 │ │ 2.60e+1 │- │[17]│#23 2. Virt/40│ │ │- │ │<void> │ │ │+ #32 +_f+ 6.00e+1+ #33 grad_+_f+ 1.00+ #30 - │#19 5. Virt/40+ 5.50e+1 │<void>+ #31 grad_- │+ 1.00 │+ #28 *. │ #21 *. │+ 7.50e+1 │ 2.00e+1 │+ #29 grad_*. │ #22 grad_*. │+ 1.00 │ -1.00 │+ #27 3. Virt/40│ #24 **. │#20 4. Virt/40│[17]│+ <void> │ 2.50e+1 │<void> │ │+ │ #25 grad_**. │ │ │+ │ 3.00 │ │ │+ │[17]│#23 2. Virt/40│ │ │+ │ │<void> │ │ │|}];let xs = Array.init 10 ~f:Float.(fun i -> of_int i - 5.) inlet ys =@@ -276,22 +276,19 @@ let%expect_test "Simple gradients hosted" =Tensor.print_tree ~spy:true ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l Host&stream/41- <not-in-yet>- #13 grad_*._l Host&stream/41- <not-in-yet>- #8 +_d Host&stream/41 │#10 f Host&shared/39- <not-in-yet> │<not-in-yet>- #9 grad_+_d Host&stream/41 │#11 grad_f Host&stream/41- <not-in-yet> │<not-in-yet>- #4 *._e Host&stream/41 │#6 c Host&shared/39 │- <not-in-yet> │<not-in-yet> │- #5 grad_*._e Host&stream/41 │#7 grad_c Host&stream/41│- <not-in-yet> │<not-in-yet> │- #0 a Host&shared/39 │#2 b Host&shared/39 │ │- <not-in-yet> │<not-in-yet> │ │- #1 grad_a Host&stream/41│#3 grad_b Host&stream/41│ │- <not-in-yet> │<not-in-yet> │ │+ #12 *._l Host&stream/412410+ <not-in-yet>+ #13 grad_*._l Host&stream/412410+ <not-in-yet>+ #8 +_d Host&stream/412410 │[10]+ <not-in-yet> │+ #9 grad_+_d Host&stream/412410 │+ <not-in-yet> │+ #4 *._e Host&stream/412410 │[6]│+ <not-in-yet> │ │+ #5 grad_*._e Host&stream/412410│ │+ <not-in-yet> │ │+ [0]│[2] │ │|}];(* Do not update the params: all values and gradients will be at initial points, which arespecified in the tensor in the brackets. *)@@ -300,22 +297,19 @@ let%expect_test "Simple gradients hosted" =Tensor.print_tree ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l- -8.00- #13 grad_*._l- 1.00- #8 +_d │#10 f- 4.00 │ -2.00- #9 grad_+_d │#11 grad_f- -2.00 │ 4.00- #4 *._e │#6 c │- -6.00 │ 1.00e+1 │- #5 grad_*._e │#7 grad_c│- -2.00 │ -2.00 │- #0 a │#2 b │ │- 2.00 │ -3.00 │ │- #1 grad_a│#3 grad_b│ │- 6.00 │ -4.00 │ │+ #12 *._l+ -8.00+ #13 grad_*._l+ 1.00+ #8 +_d │[10]+ 4.00 │+ #9 grad_+_d │+ -2.00 │+ #4 *._e │[6]│+ -6.00 │ │+ #5 grad_*._e│ │+ -2.00 │ │+ [0]│[2] │ │|}];(* Now we update the params, but we are not doing the forward and backward passes: only paramsvalues will change, compared to the above. The update is in the opposite direction of the@@ -324,22 +318,19 @@ let%expect_test "Simple gradients hosted" =Tensor.print_tree ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l- -8.00- #13 grad_*._l- 1.00- #8 +_d │#10 f- 4.00 │ -2.40- #9 grad_+_d │#11 grad_f- -2.00 │ 4.00- #4 *._e │#6 c │- -6.00 │ 1.02e+1 │- #5 grad_*._e │#7 grad_c│- -2.00 │ -2.00 │- #0 a │#2 b │ │- 1.40 │ -2.60 │ │- #1 grad_a│#3 grad_b│ │- 6.00 │ -4.00 │ │+ #12 *._l+ -8.00+ #13 grad_*._l+ 1.00+ #8 +_d │[10]+ 4.00 │+ #9 grad_+_d │+ -2.00 │+ #4 *._e │[6]│+ -6.00 │ │+ #5 grad_*._e│ │+ -2.00 │ │+ [0]│[2] │ │|}];(* Now the params will remain as above, but both param gradients and the values and gradients of@@ -348,22 +339,19 @@ let%expect_test "Simple gradients hosted" =Tensor.print_tree ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l- -1.57e+1- #13 grad_*._l- 1.00- #8 +_d │#10 f- 6.56 │ -2.40- #9 grad_+_d │#11 grad_f- -2.40 │ 6.56- #4 *._e │#6 c │- -3.64 │ 1.02e+1 │- #5 grad_*._e │#7 grad_c│- -2.40 │ -2.40 │- #0 a │#2 b │ │- 1.40 │ -2.60 │ │- #1 grad_a│#3 grad_b│ │- 6.24 │ -3.36 │ │+ #12 *._l+ -1.57e+1+ #13 grad_*._l+ 1.00+ #8 +_d │[10]+ 6.56 │+ #9 grad_+_d │+ -2.40 │+ #4 *._e │[6]│+ -3.64 │ │+ #5 grad_*._e│ │+ -2.40 │ │+ [0]│[2] │ │|}]let%expect_test "Simple gradients virtual" =@@ -385,22 +373,19 @@ let%expect_test "Simple gradients virtual" =Tensor.print_tree ~spy:true ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l Host&dev/41- <not-in-yet>- #13 grad_*._l unknown- <not-in-yet>- #8 +_d unknown │#10 f Host-non-const/24- <not-in-yet> │<not-in-yet>- #9 grad_+_d unknown │#11 grad_f Material/28- <not-in-yet> │<not-in-yet>- #4 *._e unknown │#6 c Host-non-const/24│- <not-in-yet> │<not-in-yet> │- #5 grad_*._e unknown │#7 grad_c Material/28 │- <not-in-yet> │<not-in-yet> │- #0 a Host-non-const/24│#2 b Host-non-const/24│ │- <not-in-yet> │<not-in-yet> │ │- #1 grad_a Material/28 │#3 grad_b Material/28 │ │- <not-in-yet> │<not-in-yet> │ │+ #12 *._l Host&dev/412+ <not-in-yet>+ #13 grad_*._l unknown+ <not-in-yet>+ #8 +_d unknown │[10]+ <not-in-yet> │+ #9 grad_+_d unknown │+ <not-in-yet> │+ #4 *._e unknown │[6]│+ <not-in-yet> │ │+ #5 grad_*._e unknown│ │+ <not-in-yet> │ │+ [0]│[2] │ │|}];let f_init = Train.to_routine (module Backend) ctx IDX.empty @@ Tensor.init_params l inlet grad_routine = Train.to_routine (module Backend) f_init.context IDX.empty grad in@@ -408,22 +393,19 @@ let%expect_test "Simple gradients virtual" =Tensor.print_tree ~spy:true ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l Host&stream/41- <not-in-yet>- #13 grad_*._l Virt/40- <not-in-yet>- #8 +_d Local/46 │#10 f Host&shared/39- <not-in-yet> │<not-in-yet>- #9 grad_+_d Virt/40 │#11 grad_f Dev-stream/41- <not-in-yet> │<not-in-yet>- #4 *._e Virt/152 │#6 c Host&shared/39 │- <not-in-yet> │<not-in-yet> │- #5 grad_*._e Virt/40 │#7 grad_c Dev-stream/41│- <not-in-yet> │<not-in-yet> │- #0 a Host&shared/39 │#2 b Host&shared/39 │ │- <not-in-yet> │<not-in-yet> │ │- #1 grad_a Dev-stream/41│#3 grad_b Dev-stream/41│ │- <not-in-yet> │<not-in-yet> │ │+ #12 *._l Host&stream/412410+ <not-in-yet>+ #13 grad_*._l Virt/40+ <not-in-yet>+ #8 +_d Local/1046 │[10]+ <not-in-yet> │+ #9 grad_+_d Virt/40 │+ <not-in-yet> │+ #4 *._e Virt/152 │[6]│+ <not-in-yet> │ │+ #5 grad_*._e Virt/40│ │+ <not-in-yet> │ │+ [0]│[2] │ │|}];(* Do not update the params: all values and gradients will be at initial points, which arespecified in the tensor in the brackets. *)@@ -432,22 +414,19 @@ let%expect_test "Simple gradients virtual" =Tensor.print_tree ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l- -8.00- #13 grad_*._l Virt/40- <void>- #8 +_d Local/46 │#10 f- <void> │ -2.00- #9 grad_+_d Virt/40 │#11 grad_f Dev-stream/41- <void> │<void>- #4 *._e Virt/152 │#6 c │- <void> │ 1.00e+1 │- #5 grad_*._e Virt/40 │#7 grad_c Dev-stream/41│- <void> │<void> │- #0 a │#2 b │ │- 2.00 │ -3.00 │ │- #1 grad_a Dev-stream/41│#3 grad_b Dev-stream/41│ │- <void> │<void> │ │+ #12 *._l+ -8.00+ #13 grad_*._l Virt/40+ <void>+ #8 +_d Local/1046 │[10]+ <void> │+ #9 grad_+_d Virt/40 │+ <void> │+ #4 *._e Virt/152 │[6]│+ <void> │ │+ #5 grad_*._e Virt/40│ │+ <void> │ │+ [0]│[2] │ │|}];(* Only now compile the SGD update. *)let sgd_routine = Train.to_routine (module Backend) grad_routine.context IDX.empty sgd in@@ -458,22 +437,19 @@ let%expect_test "Simple gradients virtual" =Tensor.print_tree ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l- -8.00- #13 grad_*._l Virt/40- <void>- #8 +_d Local/46 │#10 f- <void> │ -2.40- #9 grad_+_d Virt/40 │#11 grad_f Dev-stream/41- <void> │<void>- #4 *._e Virt/152 │#6 c │- <void> │ 1.02e+1 │- #5 grad_*._e Virt/40 │#7 grad_c Dev-stream/41│- <void> │<void> │- #0 a │#2 b │ │- 1.40 │ -2.60 │ │- #1 grad_a Dev-stream/41│#3 grad_b Dev-stream/41│ │- <void> │<void> │ │+ #12 *._l+ -8.00+ #13 grad_*._l Virt/40+ <void>+ #8 +_d Local/1046 │[10]+ <void> │+ #9 grad_+_d Virt/40 │+ <void> │+ #4 *._e Virt/152 │[6]│+ <void> │ │+ #5 grad_*._e Virt/40│ │+ <void> │ │+ [0]│[2] │ │|}];(* Now the params will remain as above, but both param gradients and the values and gradients ofother nodes will change thanks to the forward and backward passes. *)@@ -481,22 +457,19 @@ let%expect_test "Simple gradients virtual" =Tensor.print_tree ~with_grad:true ~depth:9 l;[%expect{|- #12 *._l- -1.57e+1- #13 grad_*._l Virt/40- <void>- #8 +_d Local/46 │#10 f- <void> │ -2.40- #9 grad_+_d Virt/40 │#11 grad_f Dev-stream/41- <void> │<void>- #4 *._e Virt/152 │#6 c │- <void> │ 1.02e+1 │- #5 grad_*._e Virt/40 │#7 grad_c Dev-stream/41│- <void> │<void> │- #0 a │#2 b │ │- 1.40 │ -2.60 │ │- #1 grad_a Dev-stream/41│#3 grad_b Dev-stream/41│ │- <void> │<void> │ │+ #12 *._l+ -1.57e+1+ #13 grad_*._l Virt/40+ <void>+ #8 +_d Local/1046 │[10]+ <void> │+ #9 grad_+_d Virt/40 │+ <void> │+ #4 *._e Virt/152 │[6]│+ <void> │ │+ #5 grad_*._e Virt/40│ │+ <void> │ │+ [0]│[2] │ │|}]let%expect_test "tanh plot" =@@ -520,18 +493,15 @@ let%expect_test "2D neuron hosted" =Tensor.print_tree ~with_grad:true ~depth:9 v;[%expect{|- #8 +_v- 7.00e-1- #9 grad_+_v- 1.00- #6 * │#0 b- -6.00 │ 6.70- #7 grad_* │#1 grad_b- 1.00 │ 1.00- #2 w │#4 x │- -3.00 1.00 │ 2.00 0.00 │- #3 grad_w │#5 grad_x │- 2.00 0.00 │ -3.00 1.00 │+ #8 +_v+ 7.00e-1+ #9 grad_+_v+ 1.00+ #6 * │[0]+ -6.00 │+ #7 grad_*│+ 1.00 │+ [2]│[4] │|}]let%expect_test "2D neuron virtual" =@@ -549,16 +519,13 @@ let%expect_test "2D neuron virtual" =Tensor.print_tree ~with_grad:true ~depth:9 v;[%expect{|- #8 +_v- 7.00e-1- #9 grad_+_v Virt/40- <void>- #6 * Local/46 │#0 b- <void> │ 6.70- #7 grad_* Virt/40 │#1 grad_b Local/46- <void> │<void>- #2 w │#4 x │- -3.00 1.00 │ 2.00 0.00 │- #3 grad_w Local/46│#5 grad_x Local/46│- <void> │<void> │+ #8 +_v+ 7.00e-1+ #9 grad_+_v Virt/40+ <void>+ #6 * Local/1046 │[0]+ <void> │+ #7 grad_* Virt/40│+ <void> │+ [2]│[4] │|}]File "test/operations/hello_world_op.ml", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/operations/hello_world_op.ml _build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations/hello_world_op.ml.correcteddiff --git a/_build/default/test/operations/hello_world_op.ml b/_build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations/hello_world_op.ml.correctedindex 11e3003..6914f17 100644--- a/_build/default/test/operations/hello_world_op.ml+++ b/_build/.sandbox/ab21fc2f0e313e3c66798bd8c8e438ba/default/test/operations/hello_world_op.ml.corrected@@ -111,7 +111,8 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hey;[%expect{|- [0]: [ 1.00 , 2.00 , 3.00 ; 4.00 , 5.00 , 6.00 ]_hey shape 1:3->0:2 [+ HERE: test/operations/hello_world_op.ml:111:21+ [0]: c2x3_hey shape 1:3->0:2 [1.00 , 2.00 , 3.00; 4.00 , 5.00 , 6.00]@@ -119,23 +120,24 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey;[%expect{|- HERE: test/operations/hello_world_op.ml:120:21- ┌────────────────────────────────────────────────────────────────────────┐- │[0]: [ 1.00 , 2.00 , 3.00 ; 4.00 , 5.00 , 6.00 ]_hey shape 1:3->0:2 │- │┌──────┬──────────────────┐ │- ││ │axis 1 │ │- │├──────┼──────────────────┤ │- ││axis 0│ 1.00 2.00 3.00 │ │- ││ │ 4.00 5.00 6.00 │ │- │└──────┴──────────────────┘ │- └────────────────────────────────────────────────────────────────────────┘+ HERE: test/operations/hello_world_op.ml:119:21+ ┌─────────────────────────────┐+ │[0]: c2x3_hey shape 1:3->0:2 │+ │┌──────┬──────────────────┐ │+ ││ │axis 1 │ │+ │├──────┼──────────────────┤ │+ ││axis 0│ 1.00 2.00 3.00 │ │+ ││ │ 4.00 5.00 6.00 │ │+ │└──────┴──────────────────┘ │+ └─────────────────────────────┘|}];let%op hoo = [| [ 1; 2; 3 ]; [ 4; 5; 6 ] |] inTrain.forward_and_forget backend ctx hoo;Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hoo;[%expect{|- [1]: [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]_hoo shape 0:2|1:3 [|+ HERE: test/operations/hello_world_op.ml:135:21+ [1]: c2x3_hoo shape 0:2|1:3 [|[ 1.00 ; 2.00 ; 3.00 ]; [ 4.00 ; 5.00 ; 6.00 ]|]@@ -143,16 +145,16 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hoo;[%expect{|- HERE: test/operations/hello_world_op.ml:145:21- ┌─────────────────────────────────────────────────────────────────────────────┐- │[1]: [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]_hoo shape 0:2|1:3 │- │┌──────┬──────────────────┐ │- ││ │axis 1 │ │- │├──────┼──────────────────┤ │- ││axis 0│ 1.00 2.00 3.00 │ │- ││ │ 4.00 5.00 6.00 │ │- │└──────┴──────────────────┘ │- └─────────────────────────────────────────────────────────────────────────────┘+ HERE: test/operations/hello_world_op.ml:143:21+ ┌────────────────────────────┐+ │[1]: c2x3_hoo shape 0:2|1:3 │+ │┌──────┬──────────────────┐ │+ ││ │axis 1 │ │+ │├──────┼──────────────────┤ │+ ││axis 0│ 1.00 2.00 3.00 │ │+ ││ │ 4.00 5.00 6.00 │ │+ │└──────┴──────────────────┘ │+ └────────────────────────────┘|}];let%op hey2 =[@@ -166,7 +168,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hey2;[%expect{|- HERE: test/operations/hello_world_op.ml:168:21+ HERE: test/operations/hello_world_op.ml:166:21[2]: c4x2x3_hey2 shape 1:2,2:3->0:4 [( 1.00 , 2.00 , 3.00 ) , ( 4.00 , 5.00 , 6.00 ); ( 7.00 , 8.00 , 9.00 ) , ( 10.00 , 11.00 , 12.00 )@@ -177,7 +179,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey2;[%expect{|- HERE: test/operations/hello_world_op.ml:179:21+ HERE: test/operations/hello_world_op.ml:177:21┌────────────────────────────────────────────────────────────────┐│[2]: c4x2x3_hey2 shape 1:2,2:3->0:4 ││┌──────┬───────────────────────────┬───────────────────────────┐│@@ -203,7 +205,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hoo2;[%expect{|- HERE: test/operations/hello_world_op.ml:205:21+ HERE: test/operations/hello_world_op.ml:203:21[3]: c4x2x3_hoo2 shape 0:4|1:2,2:3 [|[ [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] ]; [ [ 7.00 ; 8.00 ; 9.00 ] ; [ 10.00 ; 11.00 ; 12.00 ] ]@@ -214,7 +216,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hoo2;[%expect{|- HERE: test/operations/hello_world_op.ml:216:21+ HERE: test/operations/hello_world_op.ml:214:21┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[3]: c4x2x3_hoo2 shape 0:4|1:2,2:3 ││┌──────┬──────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐│@@ -238,7 +240,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo;[%expect{|- HERE: test/operations/hello_world_op.ml:240:21+ HERE: test/operations/hello_world_op.ml:238:21[4]: c4x2x3_heyhoo shape 0:4,1:2|2:3 [|[| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]; [| [ 7.00 ; 8.00 ; 9.00 ] ; [ 10.00 ; 11.00 ; 12.00 ] |]@@ -249,7 +251,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo;[%expect{|- HERE: test/operations/hello_world_op.ml:251:21+ HERE: test/operations/hello_world_op.ml:249:21┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[4]: c4x2x3_heyhoo shape 0:4,1:2|2:3 ││┌──────┬──────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐│@@ -273,7 +275,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo2;[%expect{|- HERE: test/operations/hello_world_op.ml:275:21+ HERE: test/operations/hello_world_op.ml:273:21[5]: c4x2x3x2_heyhoo2 shape 0:4,1:2|2:3,3:2 [|[|[ [ 1.00 ; 31.00 ] ; [ 2.00 ; 32.00 ] ; [ 3.00 ; 33.00 ] ]@@ -296,7 +298,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo2;[%expect{|- HERE: test/operations/hello_world_op.ml:298:21+ HERE: test/operations/hello_world_op.ml:296:21┌──────────────────────────────────────────────┐│[5]: c4x2x3x2_heyhoo2 shape 0:4,1:2|2:3,3:2 ││┌──────┬──────────────────┬──────────────────┐│@@ -337,7 +339,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo3;[%expect{|- HERE: test/operations/hello_world_op.ml:339:21+ HERE: test/operations/hello_world_op.ml:337:21[6]: c2x2x2x3x2_heyhoo3 shape 0:2,1:2|2:2,3:3,4:2 [|[|[@@ -364,7 +366,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo3;[%expect{|- HERE: test/operations/hello_world_op.ml:366:21+ HERE: test/operations/hello_world_op.ml:364:21┌──────────────────────────────────────────────────┐│[6]: c2x2x2x3x2_heyhoo3 shape 0:2,1:2|2:2,3:3,4:2 ││┌──────┬───────────────┬──────────────────┐ │@@ -410,7 +412,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo4;[%expect{|- HERE: test/operations/hello_world_op.ml:412:21+ HERE: test/operations/hello_world_op.ml:410:21[7]: c2x2x2x3x2_heyhoo4 shape 0:2|4:2->1:2,2:2,3:3 [|[[@@ -437,7 +439,7 @@ let%expect_test "Print constant tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo4;[%expect{|- HERE: test/operations/hello_world_op.ml:439:21+ HERE: test/operations/hello_world_op.ml:437:21┌───────────────────────────────────────────────────┐│[7]: c2x2x2x3x2_heyhoo4 shape 0:2|4:2->1:2,2:2,3:3 ││┌──────┬───────────────┬──────────────────┐ │@@ -488,7 +490,7 @@ let%expect_test "Matrix multiplication dims 2x3" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey;[%expect{|- HERE: test/operations/hello_world_op.ml:490:21+ HERE: test/operations/hello_world_op.ml:488:21┌────────────────────────┐│[0]: hey shape 1:2->0:3 ││┌──────┬────────────┐ │@@ -503,7 +505,7 @@ let%expect_test "Matrix multiplication dims 2x3" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ y;[%expect{|- HERE: test/operations/hello_world_op.ml:505:21+ HERE: test/operations/hello_world_op.ml:503:21┌──────────────────────────────┐│[6]: +_y shape 0:3 ││┌┬───────────────────────────┐│@@ -536,7 +538,7 @@ let%expect_test "Big matrix" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default hey;[%expect{|- HERE: test/operations/hello_world_op.ml:538:21+ HERE: test/operations/hello_world_op.ml:536:21┌──────────────────────────────────────────────────┐│[0]: hey shape 1:21->0:21 ││┌──────┬─────────────────────────────────────────┐│@@ -553,7 +555,7 @@ let%expect_test "Big matrix" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default y;[%expect{|- HERE: test/operations/hello_world_op.ml:555:21+ HERE: test/operations/hello_world_op.ml:553:21┌────────────────────────────────────────────┐│[5]: + shape 0:21 ││┌┬─────────────────────────────────────────┐│@@ -587,7 +589,7 @@ let%expect_test "Very big tensor" =Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default hey;[%expect{|- HERE: test/operations/hello_world_op.ml:589:21+ HERE: test/operations/hello_world_op.ml:587:21┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[0]: r6x10x11x7x8x9 shape 0:6|3:7,4:8,5:9->1:10,2:11 ││┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬──────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│@@ -725,7 +727,7 @@ let%expect_test "Very big tensor" =(* Disable line wrapping for viewing the output. In VSCode: `View: Toggle Word Wrap`. *)[%expect{|- HERE: test/operations/hello_world_op.ml:726:21+ HERE: test/operations/hello_world_op.ml:724:21┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│[6]: -_hoo shape 0:6|1:10,2:11 ││┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬──────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│File "test/einsum/einsum_trivia_exec.expected", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/einsum_trivia_exec.expected _build/default/test/einsum/einsum_trivia_exec.exe.outputdiff --git a/_build/default/test/einsum/einsum_trivia_exec.expected b/_build/default/test/einsum/einsum_trivia_exec.exe.outputindex 1ba1584..3d478bd 100644--- a/_build/default/test/einsum/einsum_trivia_exec.expected+++ b/_build/default/test/einsum/einsum_trivia_exec.exe.output@@ -1,5 +1,5 @@-Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/einsum/ocannl_config.+Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileHERE: test/einsum/einsum_trivia_exec.ml:31:21(cd _build/.sandbox/72917cd86ffc4db01f43464b1d5f4d19/default/test/einsum && .einsum_tutorials.inline-tests/inline-test-runner.exe inline-test-runner einsum_tutorials -partition einsum_trivia.ml -source-tree-root ../.. -diff-cmd -)Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/72917cd86ffc4db01f43464b1d5f4d19/default/test/einsum/ocannl_config.Retrieving commandline, environment, or config file variable ocannl_log_levelFound 0, in the config fileFile "test/einsum/einsum_trivia.ml", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/einsum_trivia.ml _build/.sandbox/72917cd86ffc4db01f43464b1d5f4d19/default/test/einsum/einsum_trivia.ml.correcteddiff --git a/_build/default/test/einsum/einsum_trivia.ml b/_build/.sandbox/72917cd86ffc4db01f43464b1d5f4d19/default/test/einsum/einsum_trivia.ml.correctedindex 2125658..0dfeccb 100644--- a/_build/default/test/einsum/einsum_trivia.ml+++ b/_build/.sandbox/72917cd86ffc4db01f43464b1d5f4d19/default/test/einsum/einsum_trivia.ml.corrected@@ -996,177 +996,177 @@ let%expect_test "outer_sum simulating axis concatenation" =[%expect{|HERE: test/einsum/einsum_trivia.ml:995:21- ┌────────────────────────────────┐- │[9]: ;=>+ shape 0:4,1:5,2:6,3:3 │- │┌──────┬──────────────────┐ │- ││0 @ 0 │axis 3 │ │- │├──────┼──────────────────┤ │- ││0 @ 1 │ 0.00 0.00 0.00 │ │- ││axis 2│ 0.00 0.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 0.00 0.00 4.00 │ │- ││ │ 0.00 0.00 5.00 │ │- │├──────┼──────────────────┤ │- ││1 @ 1 │ 0.00 1.00 0.00 │ │- ││axis 2│ 0.00 1.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 0.00 1.00 4.00 │ │- ││ │ 0.00 1.00 5.00 │ │- │├──────┼──────────────────┤ │- ││2 @ 1 │ 0.00 2.00 0.00 │ │- ││axis 2│ 0.00 2.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 0.00 2.00 4.00 │ │- ││ │ 0.00 2.00 5.00 │ │- │├──────┼──────────────────┤ │- ││3 @ 1 │ 0.00 3.00 0.00 │ │- ││axis 2│ 0.00 3.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 0.00 3.00 4.00 │ │- ││ │ 0.00 3.00 5.00 │ │- │├──────┼──────────────────┤ │- ││4 @ 1 │ 0.00 4.00 0.00 │ │- ││axis 2│ 0.00 4.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 0.00 4.00 4.00 │ │- ││ │ 0.00 4.00 5.00 │ │- │└──────┴──────────────────┘ │- ├────────────────────────────────┤- │┌──────┬──────────────────┐ │- ││1 @ 0 │axis 3 │ │- │├──────┼──────────────────┤ │- ││0 @ 1 │ 1.00 0.00 0.00 │ │- ││axis 2│ 1.00 0.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 1.00 0.00 4.00 │ │- ││ │ 1.00 0.00 5.00 │ │- │├──────┼──────────────────┤ │- ││1 @ 1 │ 1.00 1.00 0.00 │ │- ││axis 2│ 1.00 1.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 1.00 1.00 4.00 │ │- ││ │ 1.00 1.00 5.00 │ │- │├──────┼──────────────────┤ │- ││2 @ 1 │ 1.00 2.00 0.00 │ │- ││axis 2│ 1.00 2.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 1.00 2.00 4.00 │ │- ││ │ 1.00 2.00 5.00 │ │- │├──────┼──────────────────┤ │- ││3 @ 1 │ 1.00 3.00 0.00 │ │- ││axis 2│ 1.00 3.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 1.00 3.00 4.00 │ │- ││ │ 1.00 3.00 5.00 │ │- │├──────┼──────────────────┤ │- ││4 @ 1 │ 1.00 4.00 0.00 │ │- ││axis 2│ 1.00 4.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 1.00 4.00 4.00 │ │- ││ │ 1.00 4.00 5.00 │ │- │└──────┴──────────────────┘ │- ├────────────────────────────────┤- │┌──────┬──────────────────┐ │- ││2 @ 0 │axis 3 │ │- │├──────┼──────────────────┤ │- ││0 @ 1 │ 2.00 0.00 0.00 │ │- ││axis 2│ 2.00 0.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 2.00 0.00 4.00 │ │- ││ │ 2.00 0.00 5.00 │ │- │├──────┼──────────────────┤ │- ││1 @ 1 │ 2.00 1.00 0.00 │ │- ││axis 2│ 2.00 1.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 2.00 1.00 4.00 │ │- ││ │ 2.00 1.00 5.00 │ │- │├──────┼──────────────────┤ │- ││2 @ 1 │ 2.00 2.00 0.00 │ │- ││axis 2│ 2.00 2.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 2.00 2.00 4.00 │ │- ││ │ 2.00 2.00 5.00 │ │- │├──────┼──────────────────┤ │- ││3 @ 1 │ 2.00 3.00 0.00 │ │- ││axis 2│ 2.00 3.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 2.00 3.00 4.00 │ │- ││ │ 2.00 3.00 5.00 │ │- │├──────┼──────────────────┤ │- ││4 @ 1 │ 2.00 4.00 0.00 │ │- ││axis 2│ 2.00 4.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 2.00 4.00 4.00 │ │- ││ │ 2.00 4.00 5.00 │ │- │└──────┴──────────────────┘ │- ├────────────────────────────────┤- │┌──────┬──────────────────┐ │- ││3 @ 0 │axis 3 │ │- │├──────┼──────────────────┤ │- ││0 @ 1 │ 3.00 0.00 0.00 │ │- ││axis 2│ 3.00 0.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 3.00 0.00 4.00 │ │- ││ │ 3.00 0.00 5.00 │ │- │├──────┼──────────────────┤ │- ││1 @ 1 │ 3.00 1.00 0.00 │ │- ││axis 2│ 3.00 1.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 3.00 1.00 4.00 │ │- ││ │ 3.00 1.00 5.00 │ │- │├──────┼──────────────────┤ │- ││2 @ 1 │ 3.00 2.00 0.00 │ │- ││axis 2│ 3.00 2.00 1.00 │- ││ │ ... ... ... │ │- ││ │ 3.00 2.00 4.00 │ │- ││ │ 3.00 2.00 5.00 │ │- │├──────┼──────────────────┤ │- ││3 @ 1 │ 3.00 3.00 0.00 │ │- ││axis 2│ 3.00 3.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 3.00 3.00 4.00 │ │- ││ │ 3.00 3.00 5.00 │ │- │├──────┼──────────────────┤ │- ││4 @ 1 │ 3.00 4.00 0.00 │ │- ││axis 2│ 3.00 4.00 1.00 │ │- ││ │ ... ... ... │ │- ││ │ 3.00 4.00 4.00 │ │- ││ │ 3.00 4.00 5.00 │ │- │└──────┴──────────────────┘ │- └────────────────────────────────┘+ ┌───────────────────────────────────────┐+ │[9]: ;=>+ shape 0:4,1:5,2:6,3:3 │+ │┌──────┬──────────────────────────────┐│+ ││0 @ 0 │axis 3 ││+ │├──────┼──────────────────────────────┤│+ ││0 @ 1 │ 2.93e+29 1.85e+25 2.66e-5 ││+ ││axis 2│ 2.93e+29 1.85e+25 1.00 ││+ ││ │ ... ... ... ││+ ││ │ 2.93e+29 1.85e+25 4.00 ││+ ││ │ 2.93e+29 1.85e+25 5.00 ││+ │├──────┼──────────────────────────────┤│+ ││1 @ 1 │ 6.71e-7 1.85e+25 1.35e+28 ││+ ││axis 2│ 6.71e-7 1.85e+25 1.35e+28 ││+ ││ │ ... ... ... ││+ ││ │ 3.30e+11 1.85e+25 1.35e+28 ││+ ││ │ 6.71e-7 1.85e+25 1.35e+28 ││+ │├──────┼──────────────────────────────┤│+ ││2 @ 1 │ 4.67e+33 1.85e+25 1.33e-5 ││+ ││axis 2│ 4.67e+33 1.85e+25 1.00 ││+ ││ │ ... ... ... ││+ ││ │ 4.67e+33 1.85e+25 4.00 ││+ ││ │ 4.67e+33 1.85e+25 5.00 ││+ │├──────┼──────────────────────────────┤│+ ││3 @ 1 │ 1.89e+28 1.85e+25 8.42e+26 ││+ ││axis 2│ 1.89e+28 1.85e+25 8.42e+26 ││+ ││ │ ... ... ... ││+ ││ │ 1.89e+28 1.85e+25 8.42e+26 ││+ ││ │ 1.89e+28 1.85e+25 8.42e+26 ││+ │├──────┼──────────────────────────────┤│+ ││4 @ 1 │ 3.71e-41 1.85e+25 1.33e-5 ││+ ││axis 2│ 8.12e-41 1.85e+25 1.00 ││+ ││ │ ... ... ... ││+ ││ │ 3.30e+11 1.85e+25 4.00 ││+ ││ │ 8.12e-41 1.85e+25 5.00 ││+ │└──────┴──────────────────────────────┘│+ ├───────────────────────────────────────┤+ │┌──────┬──────────────────────────────┐│+ ││1 @ 0 │axis 3 ││+ │├──────┼──────────────────────────────┤│+ ││0 @ 1 │ 2.93e+29 2.89e+32 1.35e+28 ││+ ││axis 2│ 2.93e+29 2.89e+32 1.35e+28 ││+ ││ │ ... ... ... ││+ ││ │ 2.93e+29 2.89e+32 1.35e+28 ││+ ││ │ 2.93e+29 2.89e+32 1.35e+28 ││+ │├──────┼──────────────────────────────┤│+ ││1 @ 1 │ 1.00 2.89e+32 2.71e+28 ││+ ││axis 2│ 1.00 2.89e+32 2.71e+28 ││+ ││ │ ... ... ... ││+ ││ │ 3.30e+11 2.89e+32 2.71e+28 ││+ ││ │ 1.00 2.89e+32 2.71e+28 ││+ │├──────┼──────────────────────────────┤│+ ││2 @ 1 │ 4.67e+33 2.89e+32 1.35e+28 ││+ ││axis 2│ 4.67e+33 2.89e+32 1.35e+28 ││+ ││ │ ... ... ... ││+ ││ │ 4.67e+33 2.89e+32 1.35e+28 ││+ ││ │ 4.67e+33 2.89e+32 1.35e+28 ││+ │├──────┼──────────────────────────────┤│+ ││3 @ 1 │ 1.89e+28 2.89e+32 1.44e+28 ││+ ││axis 2│ 1.89e+28 2.89e+32 1.44e+28 ││+ ││ │ ... ... ... ││+ ││ │ 1.89e+28 2.89e+32 1.44e+28 ││+ ││ │ 1.89e+28 2.89e+32 1.44e+28 ││+ │├──────┼──────────────────────────────┤│+ ││4 @ 1 │ 1.00 2.89e+32 1.35e+28 ││+ ││axis 2│ 1.00 2.89e+32 1.35e+28 ││+ ││ │ ... ... ... ││+ ││ │ 3.30e+11 2.89e+32 1.35e+28 ││+ ││ │ 1.00 2.89e+32 1.35e+28 ││+ │└──────┴──────────────────────────────┘│+ ├───────────────────────────────────────┤+ │┌──────┬────────────────────────────┐ │+ ││2 @ 0 │axis 3 │ │+ │├──────┼────────────────────────────┤ │+ ││0 @ 1 │ 2.93e+29 6.60e-7 1.33e-5 │ │+ ││axis 2│ 2.93e+29 6.60e-7 1.00 │ │+ ││ │ ... ... ... │ │+ ││ │ 2.93e+29 6.60e-7 4.00 │ │+ ││ │ 2.93e+29 6.60e-7 5.00 │ │+ │├──────┼────────────────────────────┤ │+ ││1 @ 1 │ 2.00 1.00 1.35e+28 │ │+ ││axis 2│ 2.00 1.00 1.35e+28 │ │+ ││ │ ... ... ... │ │+ ││ │ 3.30e+11 1.00 1.35e+28 │ │+ ││ │ 2.00 1.00 1.35e+28 │ │+ │├──────┼────────────────────────────┤ │+ ││2 @ 1 │ 4.67e+33 2.00 5.19e-9 │ │+ ││axis 2│ 4.67e+33 2.00 1.00 │ │+ ││ │ ... ... ... │ │+ ││ │ 4.67e+33 2.00 4.00 │ │+ ││ │ 4.67e+33 2.00 5.00 │ │+ │├──────┼────────────────────────────┤ │+ ││3 @ 1 │ 1.89e+28 3.00 8.42e+26 │ │+ ││axis 2│ 1.89e+28 3.00 8.42e+26 │ │+ ││ │ ... ... ... │ │+ ││ │ 1.89e+28 3.00 8.42e+26 │ │+ ││ │ 1.89e+28 3.00 8.42e+26 │ │+ │├──────┼────────────────────────────┤ │+ ││4 @ 1 │ 2.00 4.00 2.59e-9 │ │+ ││axis 2│ 2.00 4.00 1.00 │ │+ ││ │ ... ... ... │ │+ ││ │ 3.30e+11 4.00 4.00 │ │+ ││ │ 2.00 4.00 5.00 │ │+ │└──────┴────────────────────────────┘ │+ ├───────────────────────────────────────┤+ │┌──────┬──────────────────────────────┐│+ ││3 @ 0 │axis 3 ││+ │├──────┼──────────────────────────────┤│+ ││0 @ 1 │ 2.93e+29 1.64e+19 1.38e+31 ││+ ││axis 2│ 2.93e+29 1.64e+19 1.38e+31 ││+ ││ │ ... ... ... ││+ ││ │ 2.93e+29 1.64e+19 1.38e+31 ││+ ││ │ 2.93e+29 1.64e+19 1.38e+31 ││+ │├──────┼──────────────────────────────┤│+ ││1 @ 1 │ 3.00 1.64e+19 1.38e+31 ││+ ││axis 2│ 3.00 1.64e+19 1.38e+31 ││+ ││ │ ... ... ... ││+ ││ │ 3.30e+11 1.64e+19 1.38e+31 ││+ ││ │ 3.00 1.64e+19 1.38e+31 ││+ │├──────┼──────────────────────────────┤│+ ││2 @ 1 │ 4.67e+33 1.64e+19 1.38e+31 ││+ ││axis 2│ 4.67e+33 1.64e+19 1.38e+31 ││+ ││ │ ... ... ... ││+ ││ │ 4.67e+33 1.64e+19 1.38e+31 ││+ ││ │ 4.67e+33 1.64e+19 1.38e+31 ││+ │├──────┼──────────────────────────────┤│+ ││3 @ 1 │ 1.89e+28 1.64e+19 1.38e+31 ││+ ││axis 2│ 1.89e+28 1.64e+19 1.38e+31 ││+ ││ │ ... ... ... ││+ ││ │ 1.89e+28 1.64e+19 1.38e+31 ││+ ││ │ 1.89e+28 1.64e+19 1.38e+31 ││+ │├──────┼──────────────────────────────┤│+ ││4 @ 1 │ 3.00 1.64e+19 1.38e+31 ││+ ││axis 2│ 3.00 1.64e+19 1.38e+31 ││+ ││ │ ... ... ... ││+ ││ │ 3.30e+11 1.64e+19 1.38e+31 ││+ ││ │ 3.00 1.64e+19 1.38e+31 ││+ │└──────┴──────────────────────────────┘│+ └───────────────────────────────────────┘|}];Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ti;[%expect{|HERE: test/einsum/einsum_trivia.ml:1138:21- ┌───────────────────────────┐- │[1]: =>_ti shape 0:4,1:3 │- │┌──────┬──────────────────┐│- ││ │axis 1 ││- │├──────┼──────────────────┤│- ││axis 0│ 0.00 0.00 0.00 ││- ││ │ 1.00 0.00 0.00 ││- ││ │ 2.00 0.00 0.00 ││- ││ │ 3.00 0.00 0.00 ││- │└──────┴──────────────────┘│- └───────────────────────────┘+ ┌───────────────────────────────────┐+ │[1]: =>_ti shape 0:4,1:3 │+ │┌──────┬──────────────────────────┐│+ ││ │axis 1 ││+ │├──────┼──────────────────────────┤│+ ││axis 0│ 0.00 1.85e+25 1.33e-5 ││+ ││ │ 1.00 2.89e+32 1.35e+28 ││+ ││ │ 2.00 6.60e-7 2.59e-9 ││+ ││ │ 3.00 1.64e+19 1.38e+31 ││+ │└──────┴──────────────────────────┘│+ └───────────────────────────────────┘|}];Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ tk;[%expect{|HERE: test/einsum/einsum_trivia.ml:1154:21- ┌───────────────────────────┐- │[7]: =>_tk shape 0:6,1:3 │- │┌──────┬──────────────────┐│- ││ │axis 1 ││- │├──────┼──────────────────┤│- ││axis 0│ 0.00 0.00 0.00 ││- ││ │ 0.00 0.00 1.00 ││- ││ │ ... ... ... ││- ││ │ 0.00 0.00 4.00 ││- ││ │ 0.00 0.00 5.00 ││- │└──────┴──────────────────┘│- └───────────────────────────┘+ ┌───────────────────────────────────┐+ │[7]: =>_tk shape 0:6,1:3 │+ │┌──────┬──────────────────────────┐│+ ││ │axis 1 ││+ │├──────┼──────────────────────────┤│+ ││axis 0│ 2.80e-45 0.00 0.00 ││+ ││ │ 4.41e-41 3.40e-42 1.00 ││+ ││ │ ... ... ... ││+ ││ │ 3.30e+11 0.00 4.00 ││+ ││ │ 4.41e-41 1.03e-37 5.00 ││+ │└──────┴──────────────────────────┘│+ └───────────────────────────────────┘|}]let%expect_test "einsum with a leftmost input axis preserved as output axis" =File "test/training/moons_demo.expected", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/training/moons_demo.expected _build/default/test/training/moons_demo.exe.outputdiff --git a/_build/default/test/training/moons_demo.expected b/_build/default/test/training/moons_demo.exe.outputindex f88c473..69e29d4 100644--- a/_build/default/test/training/moons_demo.expected+++ b/_build/default/test/training/moons_demo.exe.output@@ -1,188 +1,184 @@- Half-moons scatterplot and decision boundary:- ┌────────────────────────────────────────────────────────────────────────────────────────────────────┐- │****************************#***********************************************************************│- │****************************###***###***#***********************************************************│- │***************************#********#***#***********************************************************│- │********************#*********************##*#*#****************************************************│- │******************#***#*****##*#*#*#****#*#*#*##****************************************************│- │**************#*#**###**#*##**##********#**#****###**#**********************************************│- │***********#***##***#**##*****************#*#*##*###**********************************************..│- │***************#**###******************************##*#******************************************...│- │*************#*****#******************************#*#***#*#*************************************....│- │*********#***#******************......************##*###**#************************************.....│- │******#***#*#*#****************........******************#*#*********************************.......│- │*****###****#****************...........****************#***********************************........│- │*******#*###****************.............******************#*#*****************************.........│- │**********##***************.......%%......***************#**##****************************..........│- │*****#***#****************......%..%%......*********************************************..........%.│- │**####*******************......%..%..........****************##*#**********************........%...%│- │****#*******************.......%%..%..........***************#*#**********************.........%....│- │*#****##***************.........%....%.........************##***#********************.......%...%%..│- │****#*#***************.........%..%.%...........*************#**#*******************..........%.%...│- │##*##****************............%...............**************#*##****************.........%.%.%%%.│- │**#####************............%...%%.............*******************************...........%..%.%..│- │******************...............%.%.%%............*********#*#*#*#*************................%%..│- │***##************................%..%..%............************#*#************.............%...%...│- │##**#***********...................%...%.............********#**###***********...........%.%%.......│- │###************..................%.%.%................***********##**********..................%....│- │**##**********.........................................**********#*********.............%%.%..%.....│- │**#**********......................%%...................********##********..............%%.%........│- │************..........................%..................****#**#********...................%.......│- │***********.........................%%.%..................*****##******...............%..%..........│- │**********.............................%%..................***********.................%%.%%........│- │*********..............................%...%................*******.....................%%%.........│- │********...................................%..%....................................%.....%..........│- │*******.................................%%..%.%................................%.%.%.%%.............│- │******.....................................%%.%...%%.%.......................%%%....%.%.%...........│- │*****....................................%.....%.%..%....................%.....%%.%.%...............│- │****........................................%%...%.%%%%..%.......%.........%%.%%....................│- │***...............................................%..%.......%..%%%%...%.%..%.%.....................│- │**.................................................%.%.%............%..%...%........................│- │*.................................................%....%.%......%%...%.%............................│- │..........................................................%..%......%%%.............................│- └────────────────────────────────────────────────────────────────────────────────────────────────────┘-- Loss:- ┌────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐- │ 3.79e+1│- │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │l │ │- │o │ │- │s │ │- │s │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │- │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ │- │ │- - - │- │ 0.00 │----------------------------------------------------------------------------------------------------│- ├────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤- │ │0.00 3.99e+2│- │ │ step │- └────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘-- Log-loss, for better visibility:- ┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐- │ 3.63 │- │- │ │ │- │ │ │- │ │ │- │ │- │- │ │ │- │ │ │- │ │ │- │ │ │- │ │- │- │ │ - - │- │ │ - - - │- │ │------ - │- │ │ ---- - - --- - - - - - │- │ │ -- - - - --- -- - -- - │- │ │ - -- - - --- - - --- ----- - -- │- │l │ -- - - - - --- - - - │- │o │ - - - -- - -- - - - - - │- │g │ - - - - -- - - - - - - - │- │ │ - - - -- - - - -- - - - │- │l │ - - -- -- - - - - -│- │o │ - - - - - - - - - - - │- │s │ - - - - -- - │- │s │ - - │- │ │ - - - - - - - - - │- │ │ - - - - - │- │ │ - - │- │ │ - - - │- │ │ - - │- │ │ │- │ │ - │- │ │ - │- │ │ │- │ │ │- │ │ │- │ │ │- │ │ - │- │ │ │- │ │ │- │ -1.00e+1│ - - - - ----- -- --------------- ---------------------------------------------------------│- ├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤- │ │0.00 3.99e+2│- │ │ step │- └─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘-- Learning rate:- ┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐- │ -1.00e-1│ -│- │ │ ---│- │ │ ---- │- │ │ --- │- │ │ ---- │- │ │ --- │- │ │ --- │- │ │ --- │- │ │ --- │- │ │ ---- │- │ │ --- │- │ │ ---- │- │ │ --- │- │l │ ---- │- │e │ --- │- │a │ --- │- │r │ --- │- │n │ --- │- │i │ ---- │- │n │ --- │- │g │ ---- │- │ │ --- │- │r │ ---- │- │a │ --- │- │t │ --- │- │e │ --- │- │ │ --- │- │ │ ---- │- │ │ --- │- │ │ ---- │- │ │ --- │- │ │ ---- │- │ │ --- │- │ │ --- │- │ │ --- │- │ │ --- │- │ │ ---- │- │ │ --- │- │ │ ---- │- │ -2.00e-1│--- │- ├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤- │ │0.00 3.99e+2│- │ │ step │- └─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘- mlp_result's name: mlp_point- (mlp moons_input) name: mlp_moons_input-\ No newline at end of file+Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/training/ocannl_config.+Retrieving commandline, environment, or config file variable ocannl_log_level+Found 0, in the config file+Half-moons scatterplot and decision boundary:+┌────────────────────────────────────────────────────────────────────────────────────────────────────┐+│...................................#................................................................│+│..........................##..#..###....##..........................................................│+│.........................#....#.....#...............................................................│+│.......................#.##.#.......#####...#.#.....................................................│+│..................#.#.#...#..#.##....#.#.##..#....#.................................................│+│.............#.#......##.#..#..........###..#....#..................................................│+│.............##..##.....#....................#.##.###...#...........................................│+│.............#.##.#.#.#.......................#...##..#.............................................│+│.........#.#....##..................................##..#...........................................│+│...........#.#....................................#..##...#.#.......................................│+│..........##..........................................#...#.#.......................................│+│.......#...###............................................#.........................................│+│....#....##..........................%..................#....##.....................................│+│.........##................................................#..#..............................%......│+│.....#..#........................%..%......................##.#...................................%.│+│...##.#..................................................#....................................%...%.│+│..###...........................%..%%......................###................................%.%...│+│..#...#.#.......................%%.%%.......................#.##.#............................%.....│+│..#...#.............................%.........................##..............................%...%.│+│..##..#............................%%.........................#..##.........................%%..%.%%│+│#...#..#.........................%.%%%.......................##...#............................%.%..│+│##...#.............................%%.........................#.#..#................................│+│...................................%%%%.......................##.#.#........................%%..%.%.│+│###................................%%..............................#.......................%....%...│+│..##................................%%%.%....................................................%%..%..│+│.#.....................................%.......................#.###......................%.%%.%....│+│.....#................................%...%................................................%...%....│+│...................................%.....%%......................#..................................│+│.....................................%%%..%...........................................%..%%..%......│+│.......................................%%.....%......................................%..%.%.%.......│+│.........................................%%............................................%..%%.%......│+│..........................................%.%.....%...............................%.%.%%..%.........│+│.........................................%%%..%%......................................%.............│+│...........................................%.%..%..............................%%.%.%.%%.%..........│+│..............................................%%%%..%.%.......................%%..%.%.%.............│+│..............................................%..%%%.%%...................%..%%...%.................│+│...............................................%...%.%.%..%...%.%%..%%.%%...%.......................│+│......................................................%%.%%%..%.%..%%.%.%.%%........................│+│.....................................................%...........%%%%......%%.......................│+│.......................................................%.%%%%.%.......%...%.........................│+└────────────────────────────────────────────────────────────────────────────────────────────────────┘Loss:+┌─────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐+│ 2.19│ - │+│ │ │+│ │ - - - - - - - │+│ │ - - - - - - - - │+│ │ - - - - - - │+│ │ - - - - - - - - │+│ │ - - - - - - - │+│ │ - - - - - - - - │+│ │ - - - - - - - - - │+│ │ - - - - - - - │+│ │ - - - - - - - │+│ │ - - - - - - - │+│ │ - - - - - - - - - │+│ │ - - - - - - │+│ │ - - - - - - - │+│ │ - - - - - - - - │+│ │ - - - - - - - │+│ │ - - - - - - │+│l │ - - - - - - - │+│o │ - - - - - - - - - - - - │+│s │ - - - │+│s │ - - - - - - - - - - │+│ │- - - - - - - - - - │+│ │ - - - │+│ │ - - - - - - - - - - - │+│ │- - - - - - - - - │+│ │ - - - - - │+│ │ - - - - - - - - - │+│ │ - - - - - - - │+│ │- - - - - - - - - │+│ │ - - - - - - - │+│ │ - - - - - - - - │+│ │- - - - - - - - -│+│ │ - - - - - - │+│ │ - - - - - - - -│+│ │ - - - - - - - - - │+│ │ - - - - - - - -│+│ │ - - - - - │+│ │ - - - - - - - -│+│ 0.00│ ---- -- --- -- -- -- -- -- -- -- -- -- -- - - - - - - │+├─────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤+│ │0.00 3.99e+2│+│ │ step │+└─────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘Log-loss, for better visibility:+┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐+│ 7.86e-1 │ - │+│ │ - - - - - - - - - - - - - - - - - - - │+│ │ -- -- -- -- -- -- -- -- -- -- -- - - -- -- - - - - │+│ │- - - - - - - - - - - - -- -- -- -- -- -- - - │+│ │- - - - - - - - - - - - - - - - - - -- -- │+│ │- - - - - - - - - - - - - - - - - - - - │+│ │ - - - - - - - - - - - - - - - - - - │+│ │- - - - - - - - - - - - - -│+│ │ - - - - - - - - - - -│+│ │ - - - - - - - -│+│ │ - - - - - - - │+│ │ - - - - - -│+│ │ - - │+│ │ - - │+│ │ - - - - │+│ │ - - │+│l │ - │+│o │ │+│g │ - │+│ │ │+│l │ │+│o │ │+│s │ │+│s │ │+│ │ │+│ │ - │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ -1.00e+1│ ---- -- -- -- -- -- -- -- -- -- -- -- - - - - - - │+├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤+│ │0.00 3.99e+2│+│ │ step │+└─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘+Learning rate:+┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐+│ -1.00e-1│ -│+│ │ ---│+│ │ ---- │+│ │ --- │+│ │ ---- │+│ │ --- │+│ │ --- │+│ │ --- │+│ │ --- │+│ │ ---- │+│ │ --- │+│ │ ---- │+│ │ --- │+│l │ ---- │+│e │ --- │+│a │ --- │+│r │ --- │+│n │ --- │+│i │ ---- │+│n │ --- │+│g │ ---- │+│ │ --- │+│r │ ---- │+│a │ --- │+│t │ --- │+│e │ --- │+│ │ --- │+│ │ ---- │+│ │ --- │+│ │ ---- │+│ │ --- │+│ │ ---- │+│ │ --- │+│ │ --- │+│ │ --- │+│ │ --- │+│ │ ---- │+│ │ --- │+│ │ ---- │+│ -2.00e-1│--- │+├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤+│ │0.00 3.99e+2│+│ │ step │+└─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘mlp_result's name: mlp_point+(mlp moons_input) name: mlp_moons_inputFile "test/training/moons_demo_parallel.expected", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/training/moons_demo_parallel.expected _build/default/test/training/moons_demo_parallel.exe.outputdiff --git a/_build/default/test/training/moons_demo_parallel.expected b/_build/default/test/training/moons_demo_parallel.exe.outputindex 3582111..45fc47e 100644--- a/_build/default/test/training/moons_demo_parallel.expected+++ b/_build/default/test/training/moons_demo_parallel.exe.output@@ -1 +1,140 @@-Success++Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/training/ocannl_config.+Retrieving commandline, environment, or config file variable ocannl_log_level+Found 0, in the config file++Half-moons scatterplot and decision boundary:+┌────────────────────────────────────────────────────────────────────────────────────────────────────┐+│...................................#................................................................│+│.......................#.#################.#........................................................│+│......................##########################....................................................│+│.................#################################..................................................│+│..............######################################................................................│+│.............#########################################..............................................│+│...........################.............#################...........................................│+│..........##############...................###############..........................................│+│........##############..........................###########.........................................│+│.......#############............................##.##########.......................................│+│......###########..................................############.....................................│+│.....###########....................................###########.....................................│+│....##########.....................%.................###########....................................│+│...#########.#...................%%%%.................#########..............................%%%.%%.│+│...##########..................%%%.%%...................########.#...........................%%.%%%.│+│..#######......................%%%%%%%..................##########...........................%%%%%%%│+│.#########....................%%%%%%%%....................########...........................%%%%%%.│+│.########......................%%%%%%%.....................########..........................%%%%%%.│+│#########.....................%%.%%%%%......................########........................%%%%%%%.│+│.#######.......................%%%%%%%%....................#########........................%%%%%%%.│+│########.......................%%%%%%%%.....................########.......................%%%%%%%%.│+│#######.........................%%%%%%%......................#######.......................%%%%%%%%.│+│#######.........................%%%%%%%%......................#######.....................%%%%%%%%..│+│#######.........................%%%%%%%%.....................#######.....................%%%%%%%%%..│+│######............................%%%%%%%%...................#######....................%%%%%%%%%...│+│######...........................%%%%%%%%....................########..................%%%%%%%%%%...│+│######............................%%%%%%%%%..................#######..................%.%%%%%%%%....│+│###.#.............................%.%%%%%%%%%.................#.#.##..................%%.%%%%%%%....│+│....................................%%%%%%%%%.......................................%%%%%%%%%%%.....│+│......................................%%%%%%%.%.....................................%%%%%%%%%%%.....│+│.....................................%%%%%%%%%%%.................................%%%%%%%%%%%%.......│+│......................................%%.%%%%%%%%...............................%%%%%%%%%%%.........│+│........................................%%%%%%%%%%%%........................%..%%%%%%%%%%%%.........│+│........................................%%%%%%%%%%%%%%.%....................%%%%%%%%%%%%%...........│+│..........................................%%%%%%%%%%%%%%%%%..............%%%%%%%%%%%%%%%............│+│............................................%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%...............│+│................................................%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%..%..............│+│................................................%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%..................│+│..................................................%%%%%%%%%%%%%%%%%%%%%%%%%%%%.%....................│+│.....................................................%%.%..%%%%%%%%%%%%%%%..........................│+└────────────────────────────────────────────────────────────────────────────────────────────────────┘+Batch Log-loss:+┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐+│ 3.82e+1 │ - │+│ │- --------------------------------------------------------------------------------------------------│+│ │- - -- - -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -│+│ │ - - │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│b │ │+│a │ │+│t │ │+│c │ │+│h │ │+│ │ │+│l │ │+│o │ │+│g │ │+│ │ │+│l │ │+│o │ │+│s │ │+│s │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ -1.04e+1│ -- │+├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤+│ │0.00 3.99e+2│+│ │ step │+└─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘+Epoch Log-loss:+┌────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐+│ 4.05e+1│ - │+│ │ - - - - │+│ │ - - - - - │+│ │ - - - - - │+│ │ - - - - │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│e │ │+│p │ │+│o │ │+│c │ │+│h │ │+│ │ │+│l │ │+│o │ │+│g │ │+│ │ │+│l │ │+│o │ │+│s │ │+│s │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ │ │+│ 4.01e+1│- │+├────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤+│ │0.00 1.90e+1│+│ │ step │+└────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘\ No newline at end of file"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 12025-07-15 20:54.11: Job failed: Failed: Build failed