2025-07-16 09:21.45: New job: test ahrefs/ocannl https://github.com/ahrefs/ocannl.git#refs/heads/master (37394a6466a5040071de587cbb68dd699157f58a) (linux-x86_64:opensuse-15.6-5.3_opam-2.3)
Base: ocaml/opam:opensuse-15.6-ocaml-5.3@sha256:0fac28c677868b193e3ca172de36d8b2356d0c39cbebc3c975d914e94c5d6b19
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/ahrefs/ocannl.git" -b "master" && cd "ocannl" && git reset --hard 37394a64
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:opensuse-15.6-ocaml-5.3@sha256:0fac28c677868b193e3ca172de36d8b2356d0c39cbebc3c975d914e94c5d6b19
# opensuse-15.6-5.3_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam
RUN opam init --reinit -ni
RUN uname -rs && opam exec -- ocaml -version && opam --version
WORKDIR /src
RUN sudo chown opam /src
RUN 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 --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 $DEPS
RUN opam install $DEPS
COPY --chown=1000:1000 . /src
RUN opam exec -- dune build @install @check @runtest && rm -rf _build
END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK
2025-07-16 09:21.45: Using cache hint "ahrefs/ocannl-ocaml/opam:opensuse-15.6-ocaml-5.3@sha256:0fac28c677868b193e3ca172de36d8b2356d0c39cbebc3c975d914e94c5d6b19-opensuse-15.6-5.3_opam-2.3-ee06dfbb3e21290708c2c8a6224283e3"
2025-07-16 09:21.45: Using OBuilder spec:
((from ocaml/opam:opensuse-15.6-ocaml-5.3@sha256:0fac28c677868b193e3ca172de36d8b2356d0c39cbebc3c975d914e94c5d6b19)
(comment opensuse-15.6-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-16 09:21.45: Waiting for resource in pool OCluster
2025-07-16 09:21.45: Waiting for worker…
2025-07-16 09:21.46: Got resource from pool OCluster
Building on odawa.caelum.ci.dev
All commits already cached
HEAD is now at 37394a64 Fix test expectation idempotency for the previous commit
(from ocaml/opam:opensuse-15.6-ocaml-5.3@sha256:0fac28c677868b193e3ca172de36d8b2356d0c39cbebc3c975d914e94c5d6b19)
2025-07-16 09:21.47 ---> using "af134770f26c4dbbccdbf242b3fd60adcbadedaa16c898f81c412f84622b0d07" from cache
/: (comment opensuse-15.6-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-16 09:21.47 ---> using "9a178abce306547f43d7329fc8f11ed15bcef579687926d74e02c51639869868" from cache
/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] y
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-07-16 09:21.47 ---> using "90df1f73e18a7ea5b88ec6dfe73dd4450a9e32b9b83c57b0678af91b00010b4d" from cache
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 6.8.0-60-generic
The OCaml toplevel, version 5.3.0
2.3.0
2025-07-16 09:21.47 ---> using "470775936aec4077ad543a503cbf844ba2c378b1b0a828c1a60c50d4d95ea58d" from cache
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2025-07-16 09:21.47 ---> using "c1397b40f74f7ea07c0987210968c83571f80d39f7fd9828ac7a495cb4cf4694" from cache
/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_HEAD
6dea2f9390..96cc48eb06 master -> origin/master
64169c3d1d Merge pull request #28149 from dbuenzli/b0-publish-logs.0.9.0
<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from git+file:///home/opam/opam-repository
Everything 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-16 09:21.47 ---> using "a3e762f12d185094678b06a240f4889cf89240ca38625df9485a2f60bd1d34b7" from cache
/src: (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))
2025-07-16 09:21.47 ---> using "45e9026503284a51d5759c886cd14a755f813a93959738a21222fbb472f8ec92" from cache
/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-16 09:21.47 ---> using "b07c406aba0559dd81a9cbd131426a4b8658654f728b7aef356f6f7791790ec7" from cache
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-07-16 09:21.47 ---> using "fb684cb5f88dc011a342191b66dbc7f9f85088eebe89bc7c611ce618a0094c27" from cache
/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 "zypper" "--non-interactive" "refresh"
- Retrieving repository 'Update repository of openSUSE Backports' metadata [.
- .
- Looking for gpg keys in repository Update repository of openSUSE Backports.
- gpgkey=http://download.opensuse.org/update/leap/15.6/backports/repodata/repomd.xml.key
- ..
- ..........done]
- Building repository 'Update repository of openSUSE Backports' cache [..
- ..done]
- Retrieving repository 'Update repository with updates from SUSE Linux Enterprise 15' metadata [..
- Looking for gpg keys in repository Update repository with updates from SUSE Linux Enterprise 15.
- gpgkey=http://download.opensuse.org/update/leap/15.6/sle/repodata/repomd.xml.key
- ...
- ........
- .......
- .......
- .........
- ........
- .......
- ........
- ........
- ........
- ........
- ........
- .......
- ........
- ........
- ........
- ........
- ........
- ........
- ........
- .......
- ........
- ........
- ........
- ........
- ........
- .....
- .......
- ........
- ........
- ........
- ........
- ........
- .......
- ........
- .........
- ........
- ........
- ........
- ........
- ........
- .......
- .......
- ........
- ........
- .......
- ........
- ........
- ......
- ..
- ........
- ........
- .......
- ...
- ........
- ........
- .....
- .......
- ........
- ........
- .........
- ........
- ........
- ........
- ........
- .......
- ........
- ........
- ........
- ........
- ........
- ........
- .........
- ....
- ......
- .........
- ........
- ........
- ........
- ........
- .......
- ........
- .........
- ........
- ........
- ........
- ........
- ........
- ........
- ......
- ........
- .........
- ........
- .......
- ........
- ........
- .........
- ........
- ........
- ........
- ........
- ........
- ........
- ........
- ........
- .........
- .......
- done]
- Building repository 'Update repository with updates from SUSE Linux Enterprise 15' cache [..
- ..done]
- Repository 'Main Update Repository' is up to date.
- Repository 'Update Repository (Non-Oss)' is up to date.
- Repository 'Non-OSS Repository' is up to date.
- Repository 'Main Repository' is up to date.
- All repositories have been refreshed.
<><> 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:
libcurl-devel libffi-devel
<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
+ /usr/bin/sudo "zypper" "--non-interactive" "install" "libcurl-devel" "libffi-devel"
- Loading repository data...
- Reading installed packages...
- Resolving package dependencies...
-
- The following 2 NEW packages are going to be installed:
- libcurl-devel libffi-devel
-
- 2 new packages to install.
-
- Package download size: 920.3 KiB
-
- Package install size change:
- | 856.2 KiB required by packages that will be installed
- 856.2 KiB | - 0 B released by packages that will be removed
-
- Backend: classic_rpmtrans
- Continue? [y/n/v/...? shows all options] (y): y
- Retrieving: libffi-devel-3.2.1.git259-10.8.x86_64 (Main Repository) (1/2), 26.7 KiB
- Retrieving: libffi-devel-3.2.1.git259-10.8.x86_64.rpm [.done]
- Retrieving: libcurl-devel-8.6.0-150600.4.21.1.x86_64 (Update repository with updates from SUSE Linux Enterprise 15) (2/2), 893.5 KiB
- Retrieving: libcurl-devel-8.6.0-150600.4.21.1.x86_64.rpm [...done (204.7 KiB/s)]
-
- Checking for file conflicts: [..done]
- (1/2) Installing: libffi-devel-3.2.1.git259-10.8.x86_64 [..done]
- (2/2) Installing: libcurl-devel-8.6.0-150600.4.21.1.x86_64 [..done]
2025-07-16 09:21.47 ---> using "e778d64b93c0c08fd496792e1d698f23d680942c7e823845faa54962af05a301" from cache
/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 fmt.0.10.0 (cached)
-> retrieved integers.0.7.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 ppx_cold.v0.17.0 (cached)
-> retrieved dune.3.19.1, dune-configurator.3.19.1 (cached)
-> retrieved ppx_compare.v0.17.0 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> retrieved ppx_deriving.6.1.0 (cached)
-> retrieved ppx_enumerate.v0.17.0 (cached)
-> retrieved ppx_expect.v0.17.3 (cached)
-> retrieved ppx_fields_conv.v0.17.0 (cached)
-> retrieved ppx_globalize.v0.17.2 (cached)
-> retrieved ppx_hash.v0.17.0 (cached)
-> retrieved ppx_here.v0.17.0 (cached)
-> retrieved ppx_inline_test.v0.17.1 (cached)
-> installed cmdliner.1.3.0
-> installed num.1.6
-> retrieved ppx_minidebug.2.3.0 (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 ppxlib_jane.v0.17.4 (cached)
-> retrieved ptime.1.2.0 (cached)
-> retrieved re.1.13.2 (cached)
-> retrieved ppxlib.0.36.0 (cached)
-> retrieved result.1.5 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved printbox.0.12, printbox-ext-plot.0.12, printbox-html.0.12, printbox-md.0.12, printbox-text.0.12 (cached)
-> retrieved saturn_lockfree.0.5.0 (cached)
-> retrieved sexplib.v0.17.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 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 ocamlbuild.0.16.1
-> 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 mdx.2.5.0
-> installed sexplib.v0.17.0
-> installed angstrom.0.16.1
-> installed tyxml.4.6.0
-> installed printbox-html.0.12
-> installed curl.0.10.0
-> installed ctypes.0.23.0
-> 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 uucp.16.0.0
-> installed printbox-text.0.12
-> installed printbox-md.0.12
-> installed printbox-ext-plot.0.12
-> 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.3
Done.
# To update the current shell environment, run: eval $(opam env)
2025-07-16 09:21.47 ---> using "fe3b35a174009406c0e84c7b6730d426b586f082e33b5c9fa23d410d261a6f3f" from cache
/src: (copy (src .) (dst /src))
2025-07-16 09:21.48 ---> saved as "ae9ea223c1efced9dc8c427d265f667d430432263b7287fc8ae376890050a51c"
/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_level
Found 0, in the config file
Wrote value of 'backend' to ocannl_backend.txt
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.output
diff --git a/_build/default/test/einsum/test_conv_syntax.expected b/_build/default/test/einsum/test_conv_syntax.exe.output
index 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_level
Found 0, in the config file
Testing conv syntax parsing...
File "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.output
diff --git a/_build/default/test/einsum/test_print_style.expected b/_build/default/test/einsum/test_print_style.exe.output
index 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_level
Found 0, in the config file
Testing print_style functionality:
(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_level
Found 0, in the config file
(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_level
Found 0, in the config file
(cd _build/.sandbox/f2d40c3a2a86d67d47d0057159dd39c4/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/f2d40c3a2a86d67d47d0057159dd39c4/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/f2d40c3a2a86d67d47d0057159dd39c4/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/f2d40c3a2a86d67d47d0057159dd39c4/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/f2d40c3a2a86d67d47d0057159dd39c4/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/699aeb3e938ad8c347d07e31a676d605/default/test/einsum/ocannl_config.' -source-tree-root ../.. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/f2d40c3a2a86d67d47d0057159dd39c4/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/f2d40c3a2a86d67d47d0057159dd39c4/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/f2d40c3a2a86d67d47d0057159dd39c4/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/622d30e9ce263ee90bced8c213e099ff/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/622d30e9ce263ee90bced8c213e099ff/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/622d30e9ce263ee90bced8c213e099ff/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/531c82bf491b344d570be0521ca7a2a2/default/test/operations/ocannl_config.' -source-tree-root ../.. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/622d30e9ce263ee90bced8c213e099ff/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/622d30e9ce263ee90bced8c213e099ff/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/622d30e9ce263ee90bced8c213e099ff/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/622d30e9ce263ee90bced8c213e099ff/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/622d30e9ce263ee90bced8c213e099ff/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/operations/dune", lines 19-29, characters 0-281:
19 | (rule
20 | (alias runtest)
21 | (target
22 | (dir log_files))
23 | (action
24 | (run
25 | %{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_level
Found 0, in the config file
Retrieving commandline, environment, or config file variable ocannl_backend
Found multicore_cc, in the config file
Retrieving commandline, environment, or config file variable ocannl_limit_constant_fill_size
Not found, using default 256
Retrieving commandline, environment, or config file variable ocannl_cd_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_ll_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_prefer_backend_uniformity
Found true, in the config file
Retrieving commandline, environment, or config file variable ocannl_debug_log_to_stream_files
Found true, commandline --ocannl_debug_log_to_stream_files=true
Retrieving commandline, environment, or config file variable ocannl_cc_backend_optimization_level
Not found, using default 3
Retrieving commandline, environment, or config file variable ocannl_cc_backend_compiler_command
Not found, using default gcc
Retrieving commandline, environment, or config file variable ocannl_cc_backend_verify_codesign
Not found, using default false
Fatal error: exception File "src/printbox-text/PrintBox_text.ml", line 212, characters 6-12: Assertion failed
Raised at PrintBox_text.Output.Make_out.to_buf_aux_ in file "src/printbox-text/PrintBox_text.ml", line 212, characters 6-50
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 19-42
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from PrintBox_text.Output.Make_out.render in file "src/printbox-text/PrintBox_text.ml", line 242, characters 14-64
Called from PrintBox_text.output in file "src/printbox-text/PrintBox_text.ml", line 851, characters 2-31
Called from Minidebug_runtime.PrintBox.output_box in file "minidebug_runtime.ml", line 1527, characters 19-59
Called from Minidebug_runtime.PrintBox.close_log_impl.close_tree in file "minidebug_runtime.ml", line 1572, characters 6-38
Called from Backends.Add_buffer_retrieval_and_syncing.sync_routine in file "arrayjit/lib/backends.ml", lines 206-234, characters 31-82
Called from Backends.Raise_backend.link in file "arrayjit/lib/backends.ml", lines 538-539, characters 4-92
Re-raised at Backends.Raise_backend.link in file "arrayjit/lib/backends.ml", lines 525-539, characters 23-92
Called from Dune__exe__Micrograd_demo_logging in file "test/operations/micrograd_demo_logging.ml", line 36, characters 13-76
(cd _build/.sandbox/622d30e9ce263ee90bced8c213e099ff/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/622d30e9ce263ee90bced8c213e099ff/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "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.output
diff --git a/_build/default/test/einsum/moons_demo_variant.expected b/_build/default/test/einsum/moons_demo_variant.exe.output
index 7eaadc2..a9e715d 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_level
Found 0, in the config file
Tnode: collecting accessible arrays...
(cd _build/.sandbox/622d30e9ce263ee90bced8c213e099ff/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/622d30e9ce263ee90bced8c213e099ff/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
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.output
diff --git a/_build/default/test/einsum/einsum_trivia_exec.expected b/_build/default/test/einsum/einsum_trivia_exec.exe.output
index 1ba1584..3677ee7 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_level
Found 0, in the config file
HERE: test/einsum/einsum_trivia_exec.ml:31:21
@@ -711,173 +711,173 @@ HERE: test/einsum/einsum_trivia_exec.ml:247:21
HERE: test/einsum/einsum_trivia_exec.ml:274: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 │ 4.41e-8 0.00 0.00 ││
+││axis 2│ 2.22e-8 0.00 1.00 ││
+││ │ ... ... ... ││
+││ │ 2.22e-8 4.12e-41 4.00 ││
+││ │ 2.22e-8 -3.57e-15 5.00 ││
+│├──────┼───────────────────────────┤│
+││1 @ 1 │ 2.19e-8 1.00 0.00 ││
+││axis 2│ 0.00 1.00 1.00 ││
+││ │ ... ... ... ││
+││ │ -3.57e-15 1.00 4.00 ││
+││ │ 0.00 1.00 5.00 ││
+│├──────┼───────────────────────────┤│
+││2 @ 1 │ 2.19e-8 2.00 0.00 ││
+││axis 2│ 0.00 2.00 1.00 ││
+││ │ ... ... ... ││
+││ │ -3.57e-15 2.00 4.00 ││
+││ │ 0.00 2.00 5.00 ││
+│├──────┼───────────────────────────┤│
+││3 @ 1 │ 2.19e-8 3.00 0.00 ││
+││axis 2│ 0.00 3.00 1.00 ││
+││ │ ... ... ... ││
+││ │ -3.57e-15 3.00 4.00 ││
+││ │ 0.00 3.00 5.00 ││
+│├──────┼───────────────────────────┤│
+││4 @ 1 │ 2.19e-8 4.00 2.80e-33 ││
+││axis 2│ -2.22e-15 4.00 1.00 ││
+││ │ ... ... ... ││
+││ │ -5.79e-15 4.00 4.00 ││
+││ │ -2.22e-15 4.00 5.00 ││
+│└──────┴───────────────────────────┘│
+├────────────────────────────────────┤
+│┌──────┬──────────────────────────┐ │
+││1 @ 0 │axis 3 │ │
+│├──────┼──────────────────────────┤ │
+││0 @ 1 │ 1.00 2.96e+29 1.79e+25 │ │
+││axis 2│ 1.00 2.96e+29 1.79e+25 │ │
+││ │ ... ... ... │ │
+││ │ 1.00 2.96e+29 1.79e+25 │ │
+││ │ 1.00 2.96e+29 1.79e+25 │ │
+│├──────┼──────────────────────────┤ │
+││1 @ 1 │ 1.00 2.96e+29 1.79e+25 │ │
+││axis 2│ 1.00 2.96e+29 1.79e+25 │ │
+││ │ ... ... ... │ │
+││ │ 1.00 2.96e+29 1.79e+25 │ │
+││ │ 1.00 2.96e+29 1.79e+25 │ │
+│├──────┼──────────────────────────┤ │
+││2 @ 1 │ 1.00 2.96e+29 1.79e+25 │ │
+││axis 2│ 1.00 2.96e+29 1.79e+25 │ │
+││ │ ... ... ... │ │
+││ │ 1.00 2.96e+29 1.79e+25 │ │
+││ │ 1.00 2.96e+29 1.79e+25 │ │
+│├──────┼──────────────────────────┤ │
+││3 @ 1 │ 1.00 2.96e+29 1.79e+25 │ │
+││axis 2│ 1.00 2.96e+29 1.79e+25 │ │
+││ │ ... ... ... │ │
+││ │ 1.00 2.96e+29 1.79e+25 │ │
+││ │ 1.00 2.96e+29 1.79e+25 │ │
+│├──────┼──────────────────────────┤ │
+││4 @ 1 │ 1.00 2.96e+29 1.79e+25 │ │
+││axis 2│ 1.00 2.96e+29 1.79e+25 │ │
+││ │ ... ... ... │ │
+││ │ 1.00 2.96e+29 1.79e+25 │ │
+││ │ 1.00 2.96e+29 1.79e+25 │ │
+│└──────┴──────────────────────────┘ │
+├────────────────────────────────────┤
+│┌──────┬──────────────────────────┐ │
+││2 @ 0 │axis 3 │ │
+│├──────┼──────────────────────────┤ │
+││0 @ 1 │ 2.00 1.08e+27 1.10e+27 │ │
+││axis 2│ 2.00 1.08e+27 1.10e+27 │ │
+││ │ ... ... ... │ │
+││ │ 2.00 1.08e+27 1.10e+27 │ │
+││ │ 2.00 1.08e+27 1.10e+27 │ │
+│├──────┼──────────────────────────┤ │
+││1 @ 1 │ 2.00 1.08e+27 1.10e+27 │ │
+││axis 2│ 2.00 1.08e+27 1.10e+27 │ │
+││ │ ... ... ... │ │
+││ │ 2.00 1.08e+27 1.10e+27 │ │
+││ │ 2.00 1.08e+27 1.10e+27 │ │
+│├──────┼──────────────────────────┤ │
+││2 @ 1 │ 2.00 1.08e+27 1.10e+27 │ │
+││axis 2│ 2.00 1.08e+27 1.10e+27 │ │
+││ │ ... ... ... │ │
+││ │ 2.00 1.08e+27 1.10e+27 │ │
+││ │ 2.00 1.08e+27 1.10e+27 │ │
+│├──────┼──────────────────────────┤ │
+││3 @ 1 │ 2.00 1.08e+27 1.10e+27 │ │
+││axis 2│ 2.00 1.08e+27 1.10e+27 │ │
+││ │ ... ... ... │ │
+││ │ 2.00 1.08e+27 1.10e+27 │ │
+││ │ 2.00 1.08e+27 1.10e+27 │ │
+│├──────┼──────────────────────────┤ │
+││4 @ 1 │ 2.00 1.08e+27 1.10e+27 │ │
+││axis 2│ 2.00 1.08e+27 1.10e+27 │ │
+││ │ ... ... ... │ │
+││ │ 2.00 1.08e+27 1.10e+27 │ │
+││ │ 2.00 1.08e+27 1.10e+27 │ │
+│└──────┴──────────────────────────┘ │
+├────────────────────────────────────┤
+│┌──────┬────────────────────────┐ │
+││3 @ 0 │axis 3 │ │
+│├──────┼────────────────────────┤ │
+││0 @ 1 │ 3.00 2.20e+2 2.53e+2 │ │
+││axis 2│ 3.00 2.20e+2 2.54e+2 │ │
+││ │ ... ... ... │ │
+││ │ 3.00 2.20e+2 2.57e+2 │ │
+││ │ 3.00 2.20e+2 2.58e+2 │ │
+│├──────┼────────────────────────┤ │
+││1 @ 1 │ 3.00 2.21e+2 2.53e+2 │ │
+││axis 2│ 3.00 2.21e+2 2.54e+2 │ │
+││ │ ... ... ... │ │
+││ │ 3.00 2.21e+2 2.57e+2 │ │
+││ │ 3.00 2.21e+2 2.58e+2 │ │
+│├──────┼────────────────────────┤ │
+││2 @ 1 │ 3.00 2.22e+2 2.53e+2 │ │
+││axis 2│ 3.00 2.22e+2 2.54e+2 │ │
+││ │ ... ... ... │ │
+││ │ 3.00 2.22e+2 2.57e+2 │ │
+││ │ 3.00 2.22e+2 2.58e+2 │ │
+│├──────┼────────────────────────┤ │
+││3 @ 1 │ 3.00 2.23e+2 2.53e+2 │ │
+││axis 2│ 3.00 2.23e+2 2.54e+2 │ │
+││ │ ... ... ... │ │
+││ │ 3.00 2.23e+2 2.57e+2 │ │
+││ │ 3.00 2.23e+2 2.58e+2 │ │
+│├──────┼────────────────────────┤ │
+││4 @ 1 │ 3.00 2.24e+2 2.53e+2 │ │
+││axis 2│ 3.00 2.24e+2 2.54e+2 │ │
+││ │ ... ... ... │ │
+││ │ 3.00 2.24e+2 2.57e+2 │ │
+││ │ 3.00 2.24e+2 2.58e+2 │ │
+│└──────┴────────────────────────┘ │
+└────────────────────────────────────┘
HERE: test/einsum/einsum_trivia_exec.ml:275: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 0.00 0.00 ││
+││ │ 1.00 2.96e+29 1.79e+25 ││
+││ │ 2.00 1.08e+27 1.10e+27 ││
+││ │ 3.00 2.20e+2 2.53e+2 ││
+│└──────┴──────────────────────────┘│
+└───────────────────────────────────┘
HERE: test/einsum/einsum_trivia_exec.ml:276: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.19e-8 0.00 0.00 ││
+││ │ 0.00 0.00 1.00 ││
+││ │ ... ... ... ││
+││ │ -3.57e-15 4.12e-41 4.00 ││
+││ │ 0.00 -3.57e-15 5.00 ││
+│└──────┴────────────────────────────┘│
+└─────────────────────────────────────┘
HERE: test/einsum/einsum_trivia_exec.ml:299:21
(cd _build/.sandbox/f2d40c3a2a86d67d47d0057159dd39c4/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/f2d40c3a2a86d67d47d0057159dd39c4/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/622d30e9ce263ee90bced8c213e099ff/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/622d30e9ce263ee90bced8c213e099ff/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "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/f2d40c3a2a86d67d47d0057159dd39c4/default/test/einsum/einsum_trivia.ml.corrected
diff --git a/_build/default/test/einsum/einsum_trivia.ml b/_build/.sandbox/f2d40c3a2a86d67d47d0057159dd39c4/default/test/einsum/einsum_trivia.ml.corrected
index 2125658..8e22298 100644
--- a/_build/default/test/einsum/einsum_trivia.ml
+++ b/_build/.sandbox/f2d40c3a2a86d67d47d0057159dd39c4/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 │ 6.27e-30 0.00 0.00 ││
+ ││axis 2│ 3.13e-30 0.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.83e+1 4.38e-41 4.00 ││
+ ││ │ 3.13e-30 -9.83e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││1 @ 1 │ 3.13e-30 1.00 0.00 ││
+ ││axis 2│ 0.00 1.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.83e+1 1.00 4.00 ││
+ ││ │ 0.00 -9.73e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││2 @ 1 │ 3.13e-30 2.00 0.00 ││
+ ││axis 2│ 0.00 2.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.83e+1 2.00 4.00 ││
+ ││ │ 0.00 -9.63e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││3 @ 1 │ 3.13e-30 3.00 0.00 ││
+ ││axis 2│ 0.00 3.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.83e+1 3.00 4.00 ││
+ ││ │ 0.00 -9.53e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││4 @ 1 │ -1.31e-9 4.00 2.80e-33 ││
+ ││axis 2│ -1.31e-9 4.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.83e+1 4.00 4.00 ││
+ ││ │ -1.31e-9 -9.43e+1 5.00 ││
+ │└──────┴──────────────────────────────┘│
+ ├───────────────────────────────────────┤
+ │┌──────┬──────────────────────────────┐│
+ ││1 @ 0 │axis 3 ││
+ │├──────┼──────────────────────────────┤│
+ ││0 @ 1 │ 1.00 0.00 0.00 ││
+ ││axis 2│ 1.00 0.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.73e+1 4.38e-41 4.00 ││
+ ││ │ 1.00 -9.83e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││1 @ 1 │ 1.00 1.00 0.00 ││
+ ││axis 2│ 1.00 1.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.73e+1 1.00 4.00 ││
+ ││ │ 1.00 -9.73e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││2 @ 1 │ 1.00 2.00 0.00 ││
+ ││axis 2│ 1.00 2.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.73e+1 2.00 4.00 ││
+ ││ │ 1.00 -9.63e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││3 @ 1 │ 1.00 3.00 0.00 ││
+ ││axis 2│ 1.00 3.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.73e+1 3.00 4.00 ││
+ ││ │ 1.00 -9.53e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││4 @ 1 │ 1.00 4.00 2.80e-33 ││
+ ││axis 2│ 1.00 4.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.73e+1 4.00 4.00 ││
+ ││ │ 1.00 -9.43e+1 5.00 ││
+ │└──────┴──────────────────────────────┘│
+ ├───────────────────────────────────────┤
+ │┌──────┬──────────────────────────────┐│
+ ││2 @ 0 │axis 3 ││
+ │├──────┼──────────────────────────────┤│
+ ││0 @ 1 │ 2.00 5.60e-45 0.00 ││
+ ││axis 2│ 2.00 5.60e-45 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.63e+1 4.39e-41 4.00 ││
+ ││ │ 2.00 -9.83e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││1 @ 1 │ 2.00 1.00 0.00 ││
+ ││axis 2│ 2.00 1.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.63e+1 1.00 4.00 ││
+ ││ │ 2.00 -9.73e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││2 @ 1 │ 2.00 2.00 0.00 ││
+ ││axis 2│ 2.00 2.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.63e+1 2.00 4.00 ││
+ ││ │ 2.00 -9.63e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││3 @ 1 │ 2.00 3.00 0.00 ││
+ ││axis 2│ 2.00 3.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.63e+1 3.00 4.00 ││
+ ││ │ 2.00 -9.53e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││4 @ 1 │ 2.00 4.00 2.80e-33 ││
+ ││axis 2│ 2.00 4.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.63e+1 4.00 4.00 ││
+ ││ │ 2.00 -9.43e+1 5.00 ││
+ │└──────┴──────────────────────────────┘│
+ ├───────────────────────────────────────┤
+ │┌──────┬──────────────────────────────┐│
+ ││3 @ 0 │axis 3 ││
+ │├──────┼──────────────────────────────┤│
+ ││0 @ 1 │ 3.00 0.00 0.00 ││
+ ││axis 2│ 3.00 0.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.53e+1 4.38e-41 4.00 ││
+ ││ │ 3.00 -9.83e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││1 @ 1 │ 3.00 1.00 0.00 ││
+ ││axis 2│ 3.00 1.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.53e+1 1.00 4.00 ││
+ ││ │ 3.00 -9.73e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││2 @ 1 │ 3.00 2.00 0.00 ││
+ ││axis 2│ 3.00 2.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.53e+1 2.00 4.00 ││
+ ││ │ 3.00 -9.63e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││3 @ 1 │ 3.00 3.00 0.00 ││
+ ││axis 2│ 3.00 3.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.53e+1 3.00 4.00 ││
+ ││ │ 3.00 -9.53e+1 5.00 ││
+ │├──────┼──────────────────────────────┤│
+ ││4 @ 1 │ 3.00 4.00 2.80e-33 ││
+ ││axis 2│ 3.00 4.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.53e+1 4.00 4.00 ││
+ ││ │ 3.00 -9.43e+1 5.00 ││
+ │└──────┴──────────────────────────────┘│
+ └───────────────────────────────────────┘
|}];
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 0.00 0.00 ││
+ ││ │ 1.00 0.00 0.00 ││
+ ││ │ 2.00 5.60e-45 0.00 ││
+ ││ │ 3.00 0.00 0.00 ││
+ │└──────┴──────────────────────┘│
+ └───────────────────────────────┘
|}];
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│ 3.13e-30 0.00 0.00 ││
+ ││ │ 0.00 0.00 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -9.83e+1 4.38e-41 4.00 ││
+ ││ │ 0.00 -9.83e+1 5.00 ││
+ │└──────┴──────────────────────────┘│
+ └───────────────────────────────────┘
|}]
let%expect_test "einsum with a leftmost input axis preserved as output axis" =
File "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/622d30e9ce263ee90bced8c213e099ff/default/test/operations/zero2hero_1of7.ml.corrected
diff --git a/_build/default/test/operations/zero2hero_1of7.ml b/_build/.sandbox/622d30e9ce263ee90bced8c213e099ff/default/test/operations/zero2hero_1of7.ml.corrected
index 2fe7000..74872bd 100644
--- a/_build/default/test/operations/zero2hero_1of7.ml
+++ b/_build/.sandbox/622d30e9ce263ee90bced8c213e099ff/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_**.irt/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 in
Train.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.) in
let ys =
@@ -160,16 +160,16 @@ let%expect_test "Graph drawing fetch" =
Tensor.print_tree ~with_grad:false ~depth:9 f5;
[%expect
{|
- #9 +_f_5.
- 6.00e+1
- #8 - │#1 5. Virt/40
- 5.50e+1 │<void>
- #7 *. │ #3 *. │
- 7.50e+1 │ 2.00e+1 │
- #6 3. Virt/40│ #5 **. │#2 4. Virt/40│#0 5. Virt/40│
- <void> │ 2.50e+1 │<void> │<void> │
- │[0]│#4 2. Virt/40│ │ │
- │ │<void> │ │ │
+ #9 +_f_5
+ 6.00e+1
+ #8 - │#1 5 Virt/40
+ 5.50e+1 │<void>
+ #7 *. │ #3 *. │
+ 7.50e+1 │ 2.00e+1 │
+ #6 3 Virt/40│ #5 **. │#2 4 Virt/40│#0 5 Virt/40│
+ <void> │ 2.50e+1 │<void> │<void> │
+ │[0]│#4 2 Virt/40│ │ │
+ │ │<void> │ │ │
|}];
let size = 100 in
let xs = Array.init size ~f:Float.(fun i -> (of_int i / 10.) - 5.) in
@@ -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 are
specified 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 params
values 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 in
let 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 are
specified 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 of
other 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/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.output
diff --git a/_build/default/test/training/moons_demo.expected b/_build/default/test/training/moons_demo.exe.output
index 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_input
File "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.output
diff --git a/_build/default/test/training/moons_demo_parallel.expected b/_build/default/test/training/moons_demo_parallel.exe.output
index 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 1
2025-07-16 09:22.39: Job failed: Failed: Build failed