2025-07-14 15:57.12: New job: test ahrefs/ocannl https://github.com/ahrefs/ocannl.git#refs/heads/master (75b5fb751ff73d57d1f00fa488c940761f07b022) (freebsd-x86_64:freebsd-14.2-5.3_opam-2.3)
Base: freebsd-14.2-ocaml-5.3
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/ahrefs/ocannl.git" -b "master" && cd "ocannl" && git reset --hard 75b5fb75
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM freebsd-14.2-ocaml-5.3
# freebsd-14.2-5.3_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/local/bin/opam-2.3 /usr/local/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-14 15:57.12: Using cache hint "ahrefs/ocannl-freebsd-14.2-ocaml-5.3-freebsd-14.2-5.3_opam-2.3-ee06dfbb3e21290708c2c8a6224283e3"
2025-07-14 15:57.12: Using OBuilder spec:
((from freebsd-14.2-ocaml-5.3)
(comment freebsd-14.2-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/local/bin/opam-2.3 /usr/local/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-14 15:57.12: Waiting for resource in pool OCluster
2025-07-14 15:57.13: Waiting for worker…
2025-07-14 15:57.13: Got resource from pool OCluster
Building on rosemary
Updating files: 100% (136/136), done.
HEAD is now at 6634fe50 Full support for padding in ndarray.ml, by Claude Sonnet
HEAD is now at 75b5fb75 Control listings in print_accessible_headers
(from freebsd-14.2-ocaml-5.3)
2025-07-14 15:57.26 ---> using "47c9a03b962be450225081ed69acde1f5c6dadb6d1106d9b1a8b4fd61c2defa6" from cache
/: (comment freebsd-14.2-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/local/bin/opam-2.3 /usr/local/bin/opam"))
2025-07-14 15:57.27 ---> using "6c919feff42b8acbece064f547886f17e62a0f8c652c95803d5cc1a0edc05bf0" from cache
/src: (run (shell "opam init --reinit -ni"))
No configuration file found, using 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 version of opam requires an update to the layout of /home/opam/.opam from version 2.1 to version 2.2, which can't be reverted.
You may want to back it up before going further.
Continue? [y/n] y
[NOTE] The 'jobs' option was reset, its value was 1 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
opam option jobs=1 --global
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] no changes from git+file:///home/opam/opam-repository
2025-07-14 15:57.27 ---> using "ef1aecc2d79e0d6d7a69975e03fbee48aae321cc5ded967c4b85817abcd33408" from cache
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
FreeBSD 14.2-RELEASE-p1
The OCaml toplevel, version 5.3.0
2.3.0
2025-07-14 15:57.28 ---> using "b81c61e28dd398a2621aef3fc778c808fda4399fe66dbfb28a40b55bd44ce32a" from cache
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2025-07-14 15:57.28 ---> using "46859cd3f1ed5f6081f98d282b27cc9fcab2b0b04b4be45ac52d723eb6d8a59e" 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
0d013e603b..0094db1438 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).
The following packages are not being upgraded because the new versions conflict with other installed packages:
- ocaml.5.5.0
- ocaml-compiler.5.5
∗ ocaml-base-compiler.5.4.0~alpha1 is installed and requires ocaml-compiler = 5.4.0~alpha1
However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages.
Nothing to do.
2025-07-14 15:57.28 ---> using "ce147729ecceb3d9906718fbb52fb5e226d413d99dd3ea744c8b087f17bc4312" from cache
/src: (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))
2025-07-14 15:57.29 ---> using "af5059fbf619e98d4070ca57243f7485610cdf00ad4cd04d5604ca976b684355" 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-14 15:57.29 ---> using "33856674654ed4d154e7702290a3b900bc97c8e97200401cf5e33d3565c97868" from cache
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-07-14 15:57.30 ---> using "23fc9b8b00cba3cd86e4123d8497eaf9da1a7a5c9e9cebf2e828fc71404d50f0" 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"))
[WARNING] Unknown update command for bsd, skipping system update
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[neural_nets_lib.dev] synchronised (file:///src)
[arrayjit.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).
2025-07-14 15:57.30 ---> using "6862bd6a1c3795bdc9c0a3983080e523a5ad6f0d705946aa71af4afa05c4c801" 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
∗ angstrom 0.16.1
∗ astring 0.8.5
∗ backoff 0.1.1
∗ base v0.17.3
∗ base-bytes 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-compiler-libs v0.17.0
∗ 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
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
⬇ retrieved backoff.0.1.1 (cached)
⬇ retrieved astring.0.8.5 (cached)
⬇ retrieved angstrom.0.16.1 (cached)
⬇ retrieved bigarray-compat.1.1.0 (cached)
⬇ retrieved bigstringaf.0.10.0 (cached)
⬇ retrieved camlp-streams.5.0.1 (cached)
⬇ retrieved base.v0.17.3 (cached)
⬇ retrieved cmdliner.1.3.0 (cached)
⬇ retrieved csexp.1.5.2 (cached)
∗ installed conf-pkg-config.4
⬇ retrieved csv.2.4 (cached)
∗ installed conf-zlib.1
∗ installed conf-libffi.2.0.0
∗ installed conf-libcurl.2
⬇ retrieved cppo.1.8.0 (cached)
⬇ retrieved camlzip.1.13 (cached)
⬇ retrieved curl.0.10.0 (cached)
⬇ retrieved ctypes.0.23.0, ctypes-foreign.0.23.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-syntax-shims.1.0.0 (cached)
⬇ retrieved ocaml-compiler-libs.v0.17.0 (cached)
⬇ retrieved ocaml-version.4.0.1 (cached)
⬇ retrieved ocaml_intrinsics_kernel.v0.17.1 (cached)
⬇ retrieved ocamlbuild.0.16.1 (cached)
⬇ retrieved parsexp.v0.17.0 (cached)
⬇ retrieved ocamlfind.1.9.8 (cached)
⬇ retrieved ppx_assert.v0.17.0 (cached)
⬇ retrieved pprint.20230830 (cached)
⬇ retrieved ppx_base.v0.17.0 (cached)
⬇ retrieved ppx_compare.v0.17.0 (cached)
⬇ retrieved ppx_cold.v0.17.0 (cached)
⬇ retrieved ppx_derivers.1.2.1 (cached)
⬇ retrieved ppx_enumerate.v0.17.0 (cached)
⬇ retrieved ppx_deriving.6.1.0 (cached)
⬇ retrieved ppx_fields_conv.v0.17.0 (cached)
⬇ retrieved ppx_expect.v0.17.3 (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)
⬇ retrieved ppx_optcomp.v0.17.1 (cached)
⬇ retrieved ppx_minidebug.2.3.0 (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 ppxlib.0.36.0 (cached)
⬇ retrieved printbox.0.12, printbox-ext-plot.0.12, printbox-html.0.12, printbox-md.0.12, printbox-text.0.12 (cached)
⬇ retrieved ptime.1.2.0 (cached)
⬇ retrieved dune.3.19.1, dune-configurator.3.19.1 (cached)
⬇ retrieved saturn_lockfree.0.5.0 (cached)
⬇ retrieved seq.base (cached)
∗ installed seq.base
⬇ retrieved sexplib.v0.17.0 (cached)
⬇ retrieved result.1.5 (cached)
⬇ retrieved re.1.13.2 (cached)
⬇ retrieved stdio.v0.17.0 (cached)
⬇ retrieved sexplib0.v0.17.0 (cached)
⬇ retrieved thread-local-storage.0.2 (cached)
⬇ retrieved time_now.v0.17.0 (cached)
⬇ retrieved stdlib-shims.0.3.0 (cached)
∗ installed num.1.6
⬇ retrieved tyxml.4.6.0 (cached)
⬇ retrieved topkg.1.0.8 (cached)
⬇ retrieved uutf.1.0.4 (cached)
⬇ retrieved variantslib.v0.17.0 (cached)
⬇ retrieved uucp.16.0.0 (cached)
∗ installed cmdliner.1.3.0
∗ installed ocamlfind.1.9.8
∗ installed base-bytes.base
∗ installed ocamlbuild.0.16.1
∗ installed camlzip.1.13
∗ installed topkg.1.0.8
∗ installed uutf.1.0.4
∗ installed mtime.2.1.0
∗ installed ptime.1.2.0
∗ installed fmt.0.10.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 backoff.0.1.1
∗ installed csexp.1.5.2
∗ installed thread-local-storage.0.2
∗ installed stdlib-shims.0.3.0
∗ installed sexplib0.v0.17.0
∗ installed result.1.5
∗ installed re.1.13.2
∗ installed printbox.0.12
∗ installed pprint.20230830
∗ installed ocaml_intrinsics_kernel.v0.17.1
∗ installed ocaml-version.4.0.1
∗ installed ocaml-syntax-shims.1.0.0
∗ installed ocaml-compiler-libs.v0.17.0
∗ installed multicore-magic.2.3.1
∗ installed csv.2.4
∗ installed cppo.1.8.0
∗ installed camlp-streams.5.0.1
∗ installed integers.0.7.0
∗ installed bigarray-compat.1.1.0
∗ installed saturn_lockfree.0.5.0
∗ installed dune-configurator.3.19.1
∗ installed parsexp.v0.17.0
∗ installed bigstringaf.0.10.0
∗ installed angstrom.0.16.1
∗ installed sexplib.v0.17.0
∗ installed mdx.2.5.0
∗ installed curl.0.10.0
∗ installed tyxml.4.6.0
∗ installed printbox-html.0.12
∗ installed ctypes.0.23.0
∗ installed uucp.16.0.0
∗ installed base.v0.17.3
∗ installed printbox-text.0.12
∗ installed variantslib.v0.17.0
∗ installed fieldslib.v0.17.0
∗ installed printbox-md.0.12
∗ installed stdio.v0.17.0
∗ installed printbox-ext-plot.0.12
∗ installed ctypes-foreign.0.23.0
∗ installed ppxlib.0.36.0
∗ installed ppx_cold.v0.17.0
∗ installed ppx_here.v0.17.0
∗ installed ppx_variants_conv.v0.17.1
∗ installed ppx_optcomp.v0.17.1
∗ installed ppxlib_jane.v0.17.4
∗ installed ppx_fields_conv.v0.17.0
∗ installed ppx_deriving.6.1.0
∗ installed ppx_enumerate.v0.17.0
∗ installed ppx_globalize.v0.17.2
∗ installed ppx_compare.v0.17.0
∗ installed ppx_sexp_conv.v0.17.1
∗ installed ppx_assert.v0.17.0
∗ installed ppx_hash.v0.17.0
∗ installed ppx_base.v0.17.0
∗ installed jst-config.v0.17.0
∗ installed ppx_minidebug.2.3.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.
2025-07-14 15:57.31 ---> using "70bb8e4117d7b52c6872d84b605a793e6e927c8c7502ec9c55b225a4b738f45b" from cache
/src: (copy (src .) (dst /src))
2025-07-14 15:57.43 ---> saved as "93b155e80f34cd315bccd1ab79913dd9bafd109df546c22894991ca01cf632e6"
/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/ppx/test_ppx_op_expected.ml", line 1, characters 0-0:
/usr/local/bin/git --no-pager diff --no-index --color=always -u _build/default/test/ppx/test_ppx_op_expected.ml _build/default/test/ppx/test_ppx_op_actual.ml
diff --git a/_build/default/test/ppx/test_ppx_op_expected.ml b/_build/default/test/ppx/test_ppx_op_actual.ml
index a6aa4ae..c971ef0 100644
--- a/_build/default/test/ppx/test_ppx_op_expected.ml
+++ b/_build/default/test/ppx/test_ppx_op_actual.ml
@@ -2,20 +2,20 @@ open Base
open Ocannl
module TDSL = Operation.TDSL
let y0 =
- let hey1 = TDSL.param ?values:None "hey1" in
+ let hey1 = TDSL.param ?value:None "hey1" in
let open! TDSL.O in
((+) ?label:(Some ["y0"]))
((( *. ) ?label:None) (TDSL.number (Float.of_int 2)) hey1)
(TDSL.number (Float.of_int 3))
let y1 =
- let hey2 = TDSL.param ?values:None "hey2" in
+ let hey2 = TDSL.param ?value:None "hey2" in
let open! TDSL.O in
fun x ->
((+) ?label:(Some
(List.concat [["y1"]; (x.Tensor.value).Ir.Tnode.label])))
((( * ) ?label:None) hey2 (TDSL.number (Float.of_int 2))) x
let y2 =
- let hey3 = TDSL.param ?values:None "hey3" in
+ let hey3 = TDSL.param ?value:None "hey3" in
let open! TDSL.O in
fun x1 x2 ->
((+) ?label:(Some
@@ -36,14 +36,14 @@ let b =
~output_dims:[2]
[|(Float.of_int 7);(Float.of_int 8);(Float.of_int 9);(Float.of_int 10)|]
let y =
- let hey4 = TDSL.param ?values:None "hey4" in
+ let hey4 = TDSL.param ?value:None "hey4" in
let open! TDSL.O in
((+) ?label:(Some ["y"]))
((( * ) ?label:None) hey4 (TDSL.number ?label:None ~axis_label:"q" 2.0))
(TDSL.number ?label:None ~axis_label:"p" 1.0)
let z =
- let hey5 = TDSL.param ?values:None "hey5"
- and hey6 = TDSL.param ?values:None "hey6" in
+ let hey5 = TDSL.param ?value:None "hey5"
+ and hey6 = TDSL.param ?value:None "hey6" in
let open! TDSL.O in
((+) ?label:(Some ["z"]))
((( * ) ?label:None) (TDSL.number ?label:None ~axis_label:"q" 2.0) hey5)
@@ -51,8 +51,8 @@ let z =
let stride = 2
and dilation = 3
let z2 =
- let hey7 = TDSL.param ?values:None "hey7"
- and hey8 = TDSL.param ?values:None "hey8" in
+ let hey7 = TDSL.param ?value:None "hey7"
+ and hey8 = TDSL.param ?value:None "hey8" in
let open! TDSL.O in
TDSL.einsum ?label:(Some ["z2"])
(String.concat ~sep:""
@@ -61,8 +61,8 @@ let z2 =
let z3 =
let s = 2
and d = 3 in
- let hey10 = TDSL.param ?values:None "hey10"
- and hey9 = TDSL.param ?values:None "hey9" in
+ let hey10 = TDSL.param ?value:None "hey10"
+ and hey9 = TDSL.param ?value:None "hey9" in
let open! TDSL.O in
TDSL.einsum ?label:(Some [])
(String.concat ~sep:""
@@ -78,7 +78,7 @@ let mlp_layer =
let b =
(TDSL.param ~more_label:(config.label)) ~output_dims:[config.hid_dim]
"b"
- and w = (TDSL.param ~more_label:(config.label)) ?values:None "w" in
+ and w = (TDSL.param ~more_label:(config.label)) ?value:None "w" in
fun x ->
(relu
?label:(Some
(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
File "test/einsum/test_print_style.expected", line 1, characters 0-0:
/usr/local/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:
File "test/einsum/test_conv_syntax.expected", line 1, characters 0-0:
/usr/local/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/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 cc
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 207-235, characters 31-82
Called from Backends.Raise_backend.link in file "arrayjit/lib/backends.ml", lines 539-540, characters 4-92
Re-raised at Backends.Raise_backend.link in file "arrayjit/lib/backends.ml", lines 526-540, 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/339b984bf4137c6c2ebe48d2e4e40f03/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/280ee6c835b6d1a7c5543df7a357a7b4/default/test/einsum/ocannl_config.' -source-tree-root ../.. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/339b984bf4137c6c2ebe48d2e4e40f03/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/339b984bf4137c6c2ebe48d2e4e40f03/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/339b984bf4137c6c2ebe48d2e4e40f03/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/339b984bf4137c6c2ebe48d2e4e40f03/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/339b984bf4137c6c2ebe48d2e4e40f03/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/339b984bf4137c6c2ebe48d2e4e40f03/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/339b984bf4137c6c2ebe48d2e4e40f03/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/23bc97037878b4c01e80612f2eb3da6b/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/23bc97037878b4c01e80612f2eb3da6b/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/23bc97037878b4c01e80612f2eb3da6b/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/23bc97037878b4c01e80612f2eb3da6b/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/23bc97037878b4c01e80612f2eb3da6b/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/fdbb062f16285aed5de70fb45672712e/default/test/operations/ocannl_config.' -source-tree-root ../.. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/23bc97037878b4c01e80612f2eb3da6b/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/23bc97037878b4c01e80612f2eb3da6b/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/23bc97037878b4c01e80612f2eb3da6b/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/local/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 57139da..1284ad0 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...
File "test/einsum/einsum_trivia_exec.expected", line 1, characters 0-0:
/usr/local/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..0ae363f 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 │ 1.47e+3 1.73e+2 1.67e+3 │ │
+││axis 2│ 1.47e+3 1.73e+2 1.67e+3 │ │
+││ │ ... ... ... │ │
+││ │ 1.47e+3 1.73e+2 1.67e+3 │ │
+││ │ 1.47e+3 1.73e+2 1.67e+3 │ │
+│├──────┼───────────────────────────┤ │
+││1 @ 1 │ 1.81e+3 1.74e+2 2.07e+3 │ │
+││axis 2│ 1.81e+3 1.74e+2 2.07e+3 │ │
+││ │ ... ... ... │ │
+││ │ 1.81e+3 1.74e+2 2.07e+3 │ │
+││ │ 1.81e+3 1.74e+2 2.07e+3 │ │
+│├──────┼───────────────────────────┤ │
+││2 @ 1 │ 2.14e+3 1.75e+2 2.47e+3 │ │
+││axis 2│ 2.14e+3 1.75e+2 2.47e+3 │ │
+││ │ ... ... ... │ │
+││ │ 2.14e+3 1.75e+2 2.47e+3 │ │
+││ │ 2.14e+3 1.75e+2 2.47e+3 │ │
+│├──────┼───────────────────────────┤ │
+││3 @ 1 │ 2.48e+3 1.76e+2 2.87e+3 │ │
+││axis 2│ 2.48e+3 1.76e+2 2.87e+3 │ │
+││ │ ... ... ... │ │
+││ │ 2.48e+3 1.76e+2 2.87e+3 │ │
+││ │ 2.48e+3 1.76e+2 2.87e+3 │ │
+│├──────┼───────────────────────────┤ │
+││4 @ 1 │ 2.82e+3 1.77e+2 3.27e+3 │ │
+││axis 2│ 2.82e+3 1.77e+2 3.27e+3 │ │
+││ │ ... ... ... │ │
+││ │ 2.82e+3 1.77e+2 3.27e+3 │ │
+││ │ 2.82e+3 1.77e+2 3.27e+3 │ │
+│└──────┴───────────────────────────┘ │
+├─────────────────────────────────────┤
+│┌──────┬────────────────────────────┐│
+││1 @ 0 │axis 3 ││
+│├──────┼────────────────────────────┤│
+││0 @ 1 │ 1.47e+3 3.42e+3 3.48e+15 ││
+││axis 2│ 1.47e+3 3.42e+3 3.48e+15 ││
+││ │ ... ... ... ││
+││ │ 1.47e+3 3.42e+3 3.48e+15 ││
+││ │ 1.47e+3 3.42e+3 3.48e+15 ││
+│├──────┼────────────────────────────┤│
+││1 @ 1 │ 1.81e+3 3.43e+3 3.48e+15 ││
+││axis 2│ 1.81e+3 3.43e+3 3.48e+15 ││
+││ │ ... ... ... ││
+││ │ 1.81e+3 3.43e+3 3.48e+15 ││
+││ │ 1.81e+3 3.43e+3 3.48e+15 ││
+│├──────┼────────────────────────────┤│
+││2 @ 1 │ 2.14e+3 3.43e+3 3.48e+15 ││
+││axis 2│ 2.14e+3 3.43e+3 3.48e+15 ││
+││ │ ... ... ... ││
+││ │ 2.14e+3 3.43e+3 3.48e+15 ││
+││ │ 2.14e+3 3.43e+3 3.48e+15 ││
+│├──────┼────────────────────────────┤│
+││3 @ 1 │ 2.48e+3 3.43e+3 3.48e+15 ││
+││axis 2│ 2.48e+3 3.43e+3 3.48e+15 ││
+││ │ ... ... ... ││
+││ │ 2.48e+3 3.43e+3 3.48e+15 ││
+││ │ 2.48e+3 3.43e+3 3.48e+15 ││
+│├──────┼────────────────────────────┤│
+││4 @ 1 │ 2.82e+3 3.43e+3 3.48e+15 ││
+││axis 2│ 2.82e+3 3.43e+3 3.48e+15 ││
+││ │ ... ... ... ││
+││ │ 2.82e+3 3.43e+3 3.48e+15 ││
+││ │ 2.82e+3 3.43e+3 3.48e+15 ││
+│└──────┴────────────────────────────┘│
+├─────────────────────────────────────┤
+│┌──────┬───────────────────────────┐ │
+││2 @ 0 │axis 3 │ │
+│├──────┼───────────────────────────┤ │
+││0 @ 1 │ 1.47e+3 5.15e+4 3.35e+7 │ │
+││axis 2│ 1.47e+3 5.15e+4 3.35e+7 │ │
+││ │ ... ... ... │ │
+││ │ 1.47e+3 5.15e+4 3.35e+7 │ │
+││ │ 1.47e+3 5.15e+4 3.35e+7 │ │
+│├──────┼───────────────────────────┤ │
+││1 @ 1 │ 1.81e+3 5.15e+4 3.35e+7 │ │
+││axis 2│ 1.81e+3 5.15e+4 3.35e+7 │ │
+││ │ ... ... ... │ │
+││ │ 1.81e+3 5.15e+4 3.35e+7 │ │
+││ │ 1.81e+3 5.15e+4 3.35e+7 │ │
+│├──────┼───────────────────────────┤ │
+││2 @ 1 │ 2.15e+3 5.15e+4 3.35e+7 │ │
+││axis 2│ 2.15e+3 5.15e+4 3.35e+7 │ │
+││ │ ... ... ... │ │
+││ │ 2.15e+3 5.15e+4 3.35e+7 │ │
+││ │ 2.15e+3 5.15e+4 3.35e+7 │ │
+│├──────┼───────────────────────────┤ │
+││3 @ 1 │ 2.48e+3 5.15e+4 3.35e+7 │ │
+││axis 2│ 2.48e+3 5.15e+4 3.35e+7 │ │
+││ │ ... ... ... │ │
+││ │ 2.48e+3 5.15e+4 3.35e+7 │ │
+││ │ 2.48e+3 5.15e+4 3.35e+7 │ │
+│├──────┼───────────────────────────┤ │
+││4 @ 1 │ 2.82e+3 5.15e+4 3.35e+7 │ │
+││axis 2│ 2.82e+3 5.15e+4 3.35e+7 │ │
+││ │ ... ... ... │ │
+││ │ 2.82e+3 5.15e+4 3.35e+7 │ │
+││ │ 2.82e+3 5.15e+4 3.35e+7 │ │
+│└──────┴───────────────────────────┘ │
+├─────────────────────────────────────┤
+│┌──────┬───────────────────────────┐ │
+││3 @ 0 │axis 3 │ │
+│├──────┼───────────────────────────┤ │
+││0 @ 1 │ 1.47e+3 2.20e+2 1.91e+3 │ │
+││axis 2│ 1.47e+3 2.20e+2 1.91e+3 │ │
+││ │ ... ... ... │ │
+││ │ 1.47e+3 2.20e+2 1.91e+3 │ │
+││ │ 1.47e+3 2.20e+2 1.91e+3 │ │
+│├──────┼───────────────────────────┤ │
+││1 @ 1 │ 1.81e+3 2.21e+2 2.31e+3 │ │
+││axis 2│ 1.81e+3 2.21e+2 2.31e+3 │ │
+││ │ ... ... ... │ │
+││ │ 1.81e+3 2.21e+2 2.31e+3 │ │
+││ │ 1.81e+3 2.21e+2 2.31e+3 │ │
+│├──────┼───────────────────────────┤ │
+││2 @ 1 │ 2.15e+3 2.22e+2 2.71e+3 │ │
+││axis 2│ 2.15e+3 2.22e+2 2.71e+3 │ │
+││ │ ... ... ... │ │
+││ │ 2.15e+3 2.22e+2 2.71e+3 │ │
+││ │ 2.15e+3 2.22e+2 2.71e+3 │ │
+│├──────┼───────────────────────────┤ │
+││3 @ 1 │ 2.48e+3 2.23e+2 3.11e+3 │ │
+││axis 2│ 2.48e+3 2.23e+2 3.11e+3 │ │
+││ │ ... ... ... │ │
+││ │ 2.48e+3 2.23e+2 3.11e+3 │ │
+││ │ 2.48e+3 2.23e+2 3.11e+3 │ │
+│├──────┼───────────────────────────┤ │
+││4 @ 1 │ 2.82e+3 2.24e+2 3.51e+3 │ │
+││axis 2│ 2.82e+3 2.24e+2 3.51e+3 │ │
+││ │ ... ... ... │ │
+││ │ 2.82e+3 2.24e+2 3.51e+3 │ │
+││ │ 2.82e+3 2.24e+2 3.51e+3 │ │
+│└──────┴───────────────────────────┘ │
+└─────────────────────────────────────┘
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 1.73e+2 1.21e+1 ││
+││ │ 1.00 3.42e+3 3.48e+15 ││
+││ │ 2.00 5.15e+4 3.35e+7 ││
+││ │ 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│ 1.40e-45 0.00 0.00 ││
+││ │ 8.54e-44 2.94e-35 1.00 ││
+││ │ ... ... ... ││
+││ │ 1.40e-45 0.00 4.00 ││
+││ │ 0.00 1.40e-45 5.00 ││
+│└──────┴──────────────────────────┘│
+└───────────────────────────────────┘
HERE: test/einsum/einsum_trivia_exec.ml:299:21
(cd _build/.sandbox/23bc97037878b4c01e80612f2eb3da6b/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/23bc97037878b4c01e80612f2eb3da6b/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/training/moons_demo.expected", line 1, characters 0-0:
/usr/local/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
(cd _build/.sandbox/23bc97037878b4c01e80612f2eb3da6b/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/23bc97037878b4c01e80612f2eb3da6b/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/339b984bf4137c6c2ebe48d2e4e40f03/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/339b984bf4137c6c2ebe48d2e4e40f03/default/test/einsum/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/local/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/einsum_trivia.ml _build/.sandbox/339b984bf4137c6c2ebe48d2e4e40f03/default/test/einsum/einsum_trivia.ml.corrected
diff --git a/_build/default/test/einsum/einsum_trivia.ml b/_build/.sandbox/339b984bf4137c6c2ebe48d2e4e40f03/default/test/einsum/einsum_trivia.ml.corrected
index 1687e2f..4c63861 100644
--- a/_build/default/test/einsum/einsum_trivia.ml
+++ b/_build/.sandbox/339b984bf4137c6c2ebe48d2e4e40f03/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 │ 1.99e+3 1.73e+2 2.37e+3 │ │
+ ││axis 2│ 1.99e+3 1.73e+2 2.37e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 1.99e+3 1.73e+2 2.37e+3 │ │
+ ││ │ 1.99e+3 1.73e+2 2.37e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││1 @ 1 │ 2.66e+3 1.74e+2 3.17e+3 │ │
+ ││axis 2│ 2.66e+3 1.74e+2 3.17e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 2.66e+3 1.74e+2 3.17e+3 │ │
+ ││ │ 2.66e+3 1.74e+2 3.17e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││2 @ 1 │ 3.33e+3 1.75e+2 3.97e+3 │ │
+ ││axis 2│ 3.33e+3 1.75e+2 3.97e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 3.33e+3 1.75e+2 3.97e+3 │ │
+ ││ │ 3.33e+3 1.75e+2 3.97e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││3 @ 1 │ 4.00e+3 1.76e+2 4.77e+3 │ │
+ ││axis 2│ 4.00e+3 1.76e+2 4.77e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 4.00e+3 1.76e+2 4.77e+3 │ │
+ ││ │ 4.00e+3 1.76e+2 4.77e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││4 @ 1 │ 4.68e+3 1.77e+2 5.57e+3 │ │
+ ││axis 2│ 4.68e+3 1.77e+2 5.57e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 4.68e+3 1.77e+2 5.57e+3 │ │
+ ││ │ 4.68e+3 1.77e+2 5.57e+3 │ │
+ │└──────┴───────────────────────────┘ │
+ ├─────────────────────────────────────┤
+ │┌──────┬────────────────────────────┐│
+ ││1 @ 0 │axis 3 ││
+ │├──────┼────────────────────────────┤│
+ ││0 @ 1 │ 1.99e+3 3.42e+3 3.48e+15 ││
+ ││axis 2│ 1.99e+3 3.42e+3 3.48e+15 ││
+ ││ │ ... ... ... ││
+ ││ │ 1.99e+3 3.42e+3 3.48e+15 ││
+ ││ │ 1.99e+3 3.42e+3 3.48e+15 ││
+ │├──────┼────────────────────────────┤│
+ ││1 @ 1 │ 2.66e+3 3.43e+3 3.48e+15 ││
+ ││axis 2│ 2.66e+3 3.43e+3 3.48e+15 ││
+ ││ │ ... ... ... ││
+ ││ │ 2.66e+3 3.43e+3 3.48e+15 ││
+ ││ │ 2.66e+3 3.43e+3 3.48e+15 ││
+ │├──────┼────────────────────────────┤│
+ ││2 @ 1 │ 3.33e+3 3.43e+3 3.48e+15 ││
+ ││axis 2│ 3.33e+3 3.43e+3 3.48e+15 ││
+ ││ │ ... ... ... ││
+ ││ │ 3.33e+3 3.43e+3 3.48e+15 ││
+ ││ │ 3.33e+3 3.43e+3 3.48e+15 ││
+ │├──────┼────────────────────────────┤│
+ ││3 @ 1 │ 4.00e+3 3.43e+3 3.48e+15 ││
+ ││axis 2│ 4.00e+3 3.43e+3 3.48e+15 ││
+ ││ │ ... ... ... ││
+ ││ │ 4.00e+3 3.43e+3 3.48e+15 ││
+ ││ │ 4.00e+3 3.43e+3 3.48e+15 ││
+ │├──────┼────────────────────────────┤│
+ ││4 @ 1 │ 4.68e+3 3.43e+3 3.48e+15 ││
+ ││axis 2│ 4.68e+3 3.43e+3 3.48e+15 ││
+ ││ │ ... ... ... ││
+ ││ │ 4.68e+3 3.43e+3 3.48e+15 ││
+ ││ │ 4.68e+3 3.43e+3 3.48e+15 ││
+ │└──────┴────────────────────────────┘│
+ ├─────────────────────────────────────┤
+ │┌──────┬───────────────────────────┐ │
+ ││2 @ 0 │axis 3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││0 @ 1 │ 1.99e+3 5.15e+4 3.35e+7 │ │
+ ││axis 2│ 1.99e+3 5.15e+4 3.35e+7 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 1.99e+3 5.15e+4 3.35e+7 │ │
+ ││ │ 1.99e+3 5.15e+4 3.35e+7 │ │
+ │├──────┼───────────────────────────┤ │
+ ││1 @ 1 │ 2.66e+3 5.15e+4 3.35e+7 │ │
+ ││axis 2│ 2.66e+3 5.15e+4 3.35e+7 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 2.66e+3 5.15e+4 3.35e+7 │ │
+ ││ │ 2.66e+3 5.15e+4 3.35e+7 │ │
+ │├──────┼───────────────────────────┤ │
+ ││2 @ 1 │ 3.33e+3 5.15e+4 3.35e+7 │ │
+ ││axis 2│ 3.33e+3 5.15e+4 3.35e+7 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 3.33e+3 5.15e+4 3.35e+7 │ │
+ ││ │ 3.33e+3 5.15e+4 3.35e+7 │ │
+ │├──────┼───────────────────────────┤ │
+ ││3 @ 1 │ 4.01e+3 5.15e+4 3.35e+7 │ │
+ ││axis 2│ 4.01e+3 5.15e+4 3.35e+7 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 4.01e+3 5.15e+4 3.35e+7 │ │
+ ││ │ 4.01e+3 5.15e+4 3.35e+7 │ │
+ │├──────┼───────────────────────────┤ │
+ ││4 @ 1 │ 4.68e+3 5.15e+4 3.35e+7 │ │
+ ││axis 2│ 4.68e+3 5.15e+4 3.35e+7 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 4.68e+3 5.15e+4 3.35e+7 │ │
+ ││ │ 4.68e+3 5.15e+4 3.35e+7 │ │
+ │└──────┴───────────────────────────┘ │
+ ├─────────────────────────────────────┤
+ │┌──────┬───────────────────────────┐ │
+ ││3 @ 0 │axis 3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││0 @ 1 │ 1.99e+3 2.20e+2 2.61e+3 │ │
+ ││axis 2│ 1.99e+3 2.20e+2 2.61e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 1.99e+3 2.20e+2 2.61e+3 │ │
+ ││ │ 1.99e+3 2.20e+2 2.61e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││1 @ 1 │ 2.66e+3 2.21e+2 3.41e+3 │ │
+ ││axis 2│ 2.66e+3 2.21e+2 3.41e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 2.66e+3 2.21e+2 3.41e+3 │ │
+ ││ │ 2.66e+3 2.21e+2 3.41e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││2 @ 1 │ 3.33e+3 2.22e+2 4.21e+3 │ │
+ ││axis 2│ 3.33e+3 2.22e+2 4.21e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 3.33e+3 2.22e+2 4.21e+3 │ │
+ ││ │ 3.33e+3 2.22e+2 4.21e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││3 @ 1 │ 4.01e+3 2.23e+2 5.01e+3 │ │
+ ││axis 2│ 4.01e+3 2.23e+2 5.01e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 4.01e+3 2.23e+2 5.01e+3 │ │
+ ││ │ 4.01e+3 2.23e+2 5.01e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││4 @ 1 │ 4.68e+3 2.24e+2 5.81e+3 │ │
+ ││axis 2│ 4.68e+3 2.24e+2 5.81e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 4.68e+3 2.24e+2 5.81e+3 │ │
+ ││ │ 4.68e+3 2.24e+2 5.81e+3 │ │
+ │└──────┴───────────────────────────┘ │
+ └─────────────────────────────────────┘
|}];
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ti;
[%expect
{|
HERE: test/einsum/einsum_trivia.ml:1138:21
- ┌───────────────────────────┐
- │[1]: =>_ti shape 0:4,1:3 │
- │┌──────┬──────────────────┐│
- ││ │axis 1 ││
- │├──────┼──────────────────┤│
- ││axis 0│ 0.00 0.00 0.00 ││
- ││ │ 1.00 0.00 0.00 ││
- ││ │ 2.00 0.00 0.00 ││
- ││ │ 3.00 0.00 0.00 ││
- │└──────┴──────────────────┘│
- └───────────────────────────┘
+ ┌──────────────────────────────────┐
+ │[1]: =>_ti shape 0:4,1:3 │
+ │┌──────┬─────────────────────────┐│
+ ││ │axis 1 ││
+ │├──────┼─────────────────────────┤│
+ ││axis 0│ 0.00 1.73e+2 1.21e+1 ││
+ ││ │ 1.00 3.42e+3 3.48e+15 ││
+ ││ │ 2.00 5.15e+4 3.35e+7 ││
+ ││ │ 3.00 2.20e+2 2.53e+2 ││
+ │└──────┴─────────────────────────┘│
+ └──────────────────────────────────┘
|}];
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ tk;
[%expect
{|
HERE: test/einsum/einsum_trivia.ml:1154:21
- ┌───────────────────────────┐
- │[7]: =>_tk shape 0:6,1:3 │
- │┌──────┬──────────────────┐│
- ││ │axis 1 ││
- │├──────┼──────────────────┤│
- ││axis 0│ 0.00 0.00 0.00 ││
- ││ │ 0.00 0.00 1.00 ││
- ││ │ ... ... ... ││
- ││ │ 0.00 0.00 4.00 ││
- ││ │ 0.00 0.00 5.00 ││
- │└──────┴──────────────────┘│
- └───────────────────────────┘
+ ┌─────────────────────────────────────┐
+ │[7]: =>_tk shape 0:6,1:3 │
+ │┌──────┬────────────────────────────┐│
+ ││ │axis 1 ││
+ │├──────┼────────────────────────────┤│
+ ││axis 0│ -2.75e-11 5.08e-42 0.00 ││
+ ││ │ 0.00 1.40e-45 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ -2.75e-11 5.08e-42 4.00 ││
+ ││ │ 0.00 -2.75e-11 5.00 ││
+ │└──────┴────────────────────────────┘│
+ └─────────────────────────────────────┘
|}]
let%expect_test "einsum with a leftmost input axis preserved as output axis" =
(cd _build/.sandbox/23bc97037878b4c01e80612f2eb3da6b/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/23bc97037878b4c01e80612f2eb3da6b/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/operations/hello_world_op.ml", line 1, characters 0-0:
/usr/local/bin/git --no-pager diff --no-index --color=always -u _build/default/test/operations/hello_world_op.ml _build/.sandbox/23bc97037878b4c01e80612f2eb3da6b/default/test/operations/hello_world_op.ml.corrected
diff --git a/_build/default/test/operations/hello_world_op.ml b/_build/.sandbox/23bc97037878b4c01e80612f2eb3da6b/default/test/operations/hello_world_op.ml.corrected
index 95901f5..87846d3 100644
--- a/_build/default/test/operations/hello_world_op.ml
+++ b/_build/.sandbox/23bc97037878b4c01e80612f2eb3da6b/default/test/operations/hello_world_op.ml.corrected
@@ -34,13 +34,14 @@ let%expect_test "Pointwise multiplication dims 1" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ y;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:34:21
┌────────────────────┐
│[3]: *._y shape 0:1 │
- │┌┬─────────┐ │
- │││axis 0 │ │
- │├┼─────────┤ │
- │││ 1.40e+1 │ │
- │└┴─────────┘ │
+ │┌┬──────┐ │
+ │││axis 0│ │
+ │├┼──────┤ │
+ │││ 0.00 │ │
+ │└┴──────┘ │
└────────────────────┘
|}]
@@ -65,25 +66,27 @@ let%expect_test "Matrix multiplication dims 1x1" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:65:21
┌────────────────────────┐
│[0]: hey shape 1:1->0:1 │
│┌──────┬──────┐ │
││ │axis 1│ │
│├──────┼──────┤ │
- ││axis 0│ 7.00 │ │
+ ││axis 0│ 0.00 │ │
│└──────┴──────┘ │
└────────────────────────┘
|}];
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ y;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:77:21
┌───────────────────┐
│[6]: +_y shape 0:1 │
- │┌┬─────────┐ │
- │││axis 0 │ │
- │├┼─────────┤ │
- │││ 1.50e+1 │ │
- │└┴─────────┘ │
+ │┌┬──────┐ │
+ │││axis 0│ │
+ │├┼──────┤ │
+ │││ 1.00 │ │
+ │└┴──────┘ │
└───────────────────┘
|}]
@@ -108,7 +111,8 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hey;
[%expect
{|
- [0]: [ 1.00 , 2.00 , 3.00 ; 4.00 , 5.00 , 6.00 ]_hey shape 1:3->0:2 [
+ HERE: test/operations/hello_world_op.ml:108:21
+ [0]: c2x3_hey shape 1:3->0:2 [
1.00 , 2.00 , 3.00
; 4.00 , 5.00 , 6.00
]
@@ -116,22 +120,24 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey;
[%expect
{|
- ┌────────────────────────────────────────────────────────────────────────┐
- │[0]: [ 1.00 , 2.00 , 3.00 ; 4.00 , 5.00 , 6.00 ]_hey shape 1:3->0:2 │
- │┌──────┬──────────────────┐ │
- ││ │axis 1 │ │
- │├──────┼──────────────────┤ │
- ││axis 0│ 1.00 2.00 3.00 │ │
- ││ │ 4.00 5.00 6.00 │ │
- │└──────┴──────────────────┘ │
- └────────────────────────────────────────────────────────────────────────┘
+ HERE: test/operations/hello_world_op.ml:116:21
+ ┌─────────────────────────────┐
+ │[0]: c2x3_hey shape 1:3->0:2 │
+ │┌──────┬──────────────────┐ │
+ ││ │axis 1 │ │
+ │├──────┼──────────────────┤ │
+ ││axis 0│ 1.00 2.00 3.00 │ │
+ ││ │ 4.00 5.00 6.00 │ │
+ │└──────┴──────────────────┘ │
+ └─────────────────────────────┘
|}];
let%op hoo = [| [ 1; 2; 3 ]; [ 4; 5; 6 ] |] in
Train.forward_and_forget backend ctx hoo;
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hoo;
[%expect
{|
- [1]: [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]_hoo shape 0:2|1:3 [|
+ HERE: test/operations/hello_world_op.ml:131:21
+ [1]: c2x3_hoo shape 0:2|1:3 [|
[ 1.00 ; 2.00 ; 3.00 ]
; [ 4.00 ; 5.00 ; 6.00 ]
|]
@@ -139,15 +145,16 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hoo;
[%expect
{|
- ┌─────────────────────────────────────────────────────────────────────────────┐
- │[1]: [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]_hoo shape 0:2|1:3 │
- │┌──────┬──────────────────┐ │
- ││ │axis 1 │ │
- │├──────┼──────────────────┤ │
- ││axis 0│ 1.00 2.00 3.00 │ │
- ││ │ 4.00 5.00 6.00 │ │
- │└──────┴──────────────────┘ │
- └─────────────────────────────────────────────────────────────────────────────┘
+ HERE: test/operations/hello_world_op.ml:139:21
+ ┌────────────────────────────┐
+ │[1]: c2x3_hoo shape 0:2|1:3 │
+ │┌──────┬──────────────────┐ │
+ ││ │axis 1 │ │
+ │├──────┼──────────────────┤ │
+ ││axis 0│ 1.00 2.00 3.00 │ │
+ ││ │ 4.00 5.00 6.00 │ │
+ │└──────┴──────────────────┘ │
+ └────────────────────────────┘
|}];
let%op hey2 =
[
@@ -161,6 +168,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hey2;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:161:21
[2]: c4x2x3_hey2 shape 1:2,2:3->0:4 [
( 1.00 , 2.00 , 3.00 ) , ( 4.00 , 5.00 , 6.00 )
; ( 7.00 , 8.00 , 9.00 ) , ( 10.00 , 11.00 , 12.00 )
@@ -171,6 +179,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey2;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:171:21
┌────────────────────────────────────────────────────────────────┐
│[2]: c4x2x3_hey2 shape 1:2,2:3->0:4 │
│┌──────┬───────────────────────────┬───────────────────────────┐│
@@ -196,6 +205,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hoo2;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:196:21
[3]: c4x2x3_hoo2 shape 0:4|1:2,2:3 [|
[ [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] ]
; [ [ 7.00 ; 8.00 ; 9.00 ] ; [ 10.00 ; 11.00 ; 12.00 ] ]
@@ -206,6 +216,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hoo2;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:206:21
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[3]: c4x2x3_hoo2 shape 0:4|1:2,2:3 │
│┌──────┬──────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐│
@@ -229,6 +240,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:229:21
[4]: c4x2x3_heyhoo shape 0:4,1:2|2:3 [|
[| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]
; [| [ 7.00 ; 8.00 ; 9.00 ] ; [ 10.00 ; 11.00 ; 12.00 ] |]
@@ -239,6 +251,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:239:21
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[4]: c4x2x3_heyhoo shape 0:4,1:2|2:3 │
│┌──────┬──────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐│
@@ -262,6 +275,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo2;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:262:21
[5]: c4x2x3x2_heyhoo2 shape 0:4,1:2|2:3,3:2 [|
[|
[ [ 1.00 ; 31.00 ] ; [ 2.00 ; 32.00 ] ; [ 3.00 ; 33.00 ] ]
@@ -284,6 +298,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo2;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:284:21
┌──────────────────────────────────────────────┐
│[5]: c4x2x3x2_heyhoo2 shape 0:4,1:2|2:3,3:2 │
│┌──────┬──────────────────┬──────────────────┐│
@@ -324,6 +339,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo3;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:324:21
[6]: c2x2x2x3x2_heyhoo3 shape 0:2,1:2|2:2,3:3,4:2 [|
[|
[
@@ -350,6 +366,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo3;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:350:21
┌──────────────────────────────────────────────────┐
│[6]: c2x2x2x3x2_heyhoo3 shape 0:2,1:2|2:2,3:3,4:2 │
│┌──────┬───────────────┬──────────────────┐ │
@@ -395,6 +412,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo4;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:395:21
[7]: c2x2x2x3x2_heyhoo4 shape 0:2|4:2->1:2,2:2,3:3 [|
[
[
@@ -421,6 +439,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo4;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:421:21
┌───────────────────────────────────────────────────┐
│[7]: c2x2x2x3x2_heyhoo4 shape 0:2|4:2->1:2,2:2,3:3 │
│┌──────┬───────────────┬──────────────────┐ │
@@ -471,28 +490,30 @@ let%expect_test "Matrix multiplication dims 2x3" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey;
[%expect
{|
- ┌────────────────────────┐
- │[0]: hey shape 1:2->0:3 │
- │┌──────┬────────────┐ │
- ││ │axis 1 │ │
- │├──────┼────────────┤ │
- ││axis 0│ 7.00 7.00 │ │
- ││ │ 7.00 7.00 │ │
- ││ │ 7.00 7.00 │ │
- │└──────┴────────────┘ │
- └────────────────────────┘
+ HERE: test/operations/hello_world_op.ml:471:21
+ ┌──────────────────────────────┐
+ │[0]: hey shape 1:2->0:3 │
+ │┌──────┬─────────────────────┐│
+ ││ │axis 1 ││
+ │├──────┼─────────────────────┤│
+ ││axis 0│ 2.80e-45 5.60e-45 ││
+ ││ │ -4.35e+17 1.74e-42 ││
+ ││ │ 5.38e-18 1.12e-44 ││
+ │└──────┴─────────────────────┘│
+ └──────────────────────────────┘
|}];
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ y;
[%expect
{|
- ┌──────────────────────────────┐
- │[6]: +_y shape 0:3 │
- │┌┬───────────────────────────┐│
- │││axis 0 ││
- │├┼───────────────────────────┤│
- │││ 3.90e+1 4.00e+1 4.10e+1 ││
- │└┴───────────────────────────┘│
- └──────────────────────────────┘
+ HERE: test/operations/hello_world_op.ml:485:21
+ ┌──────────────────────────┐
+ │[6]: +_y shape 0:3 │
+ │┌┬───────────────────────┐│
+ │││axis 0 ││
+ │├┼───────────────────────┤│
+ │││ 4.00 -8.71e+17 6.00 ││
+ │└┴───────────────────────┘│
+ └──────────────────────────┘
|}]
let%expect_test "Big matrix" =
@@ -517,30 +538,32 @@ let%expect_test "Big matrix" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default hey;
[%expect
{|
- ┌──────────────────────────────────────────────────┐
- │[0]: hey shape 1:21->0:21 │
- │┌──────┬─────────────────────────────────────────┐│
- ││ │axis 1 ││
- │├──────┼─────────────────────────────────────────┤│
- ││axis 0│ 5.00e-1 5.00e-1 ... 5.00e-1 5.00e-1 ││
- ││ │ 5.00e-1 5.00e-1 ... 5.00e-1 5.00e-1 ││
- ││ │ ... ... ... ... ... ││
- ││ │ 5.00e-1 5.00e-1 ... 5.00e-1 5.00e-1 ││
- ││ │ 5.00e-1 5.00e-1 ... 5.00e-1 5.00e-1 ││
- │└──────┴─────────────────────────────────────────┘│
- └──────────────────────────────────────────────────┘
+ HERE: test/operations/hello_world_op.ml:517:21
+ ┌──────────────────────────────────────┐
+ │[0]: hey shape 1:21->0:21 │
+ │┌──────┬─────────────────────────────┐│
+ ││ │axis 1 ││
+ │├──────┼─────────────────────────────┤│
+ ││axis 0│ 0.00 0.00 ... 0.00 0.00 ││
+ ││ │ 0.00 0.00 ... 0.00 0.00 ││
+ ││ │ ... ... ... ... ... ││
+ ││ │ 0.00 0.00 ... 0.00 0.00 ││
+ ││ │ 0.00 0.00 ... 0.00 0.00 ││
+ │└──────┴─────────────────────────────┘│
+ └──────────────────────────────────────┘
|}];
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default y;
[%expect
{|
- ┌────────────────────────────────────────────┐
- │[5]: + shape 0:21 │
- │┌┬─────────────────────────────────────────┐│
- │││axis 0 ││
- │├┼─────────────────────────────────────────┤│
- │││ 1.05e+2 1.06e+2 ... 1.24e+2 1.25e+2 ││
- │└┴─────────────────────────────────────────┘│
- └────────────────────────────────────────────┘
+ HERE: test/operations/hello_world_op.ml:533:21
+ ┌──────────────────────────────────────┐
+ │[5]: + shape 0:21 │
+ │┌┬───────────────────────────────────┐│
+ │││axis 0 ││
+ │├┼───────────────────────────────────┤│
+ │││ 0.00 1.00 ... 1.90e+1 2.00e+1 ││
+ │└┴───────────────────────────────────┘│
+ └──────────────────────────────────────┘
|}]
let%expect_test "Very big tensor" =
@@ -566,6 +589,7 @@ let%expect_test "Very big tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default hey;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:566:21
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[0]: r6x10x11x7x8x9 shape 0:6|3:7,4:8,5:9->1:10,2:11 │
│┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬──────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│
@@ -703,6 +727,7 @@ let%expect_test "Very big tensor" =
(* Disable line wrapping for viewing the output. In VSCode: `View: Toggle Word Wrap`. *)
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:702:21
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[6]: -_hoo shape 0:6|1:10,2:11 │
│┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬──────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│
File "test/operations/zero2hero_1of7.ml", line 1, characters 0-0:
/usr/local/bin/git --no-pager diff --no-index --color=always -u _build/default/test/operations/zero2hero_1of7.ml _build/.sandbox/23bc97037878b4c01e80612f2eb3da6b/default/test/operations/zero2hero_1of7.ml.corrected
diff --git a/_build/default/test/operations/zero2hero_1of7.ml b/_build/.sandbox/23bc97037878b4c01e80612f2eb3da6b/default/test/operations/zero2hero_1of7.ml.corrected
index 2fe7000..dfc84bc 100644
--- a/_build/default/test/operations/zero2hero_1of7.ml
+++ b/_build/.sandbox/23bc97037878b4c01e80612f2eb3da6b/default/test/operations/zero2hero_1of7.ml.corrected
@@ -30,24 +30,24 @@ let%expect_test "Graph drawing recompile" =
Tensor.print_tree ~with_grad:true ~depth:9 f_nd;
[%expect
{|
- #15 +_f_nd
- 6.00e+1
- #16 grad_+_f_nd Virt/30
- <void>
- #13 - Virt/152 │#2 5. Virt/40
- <void> │<void>
- #14 grad_- Virt/30 │
- <void> │
- #11 *. Virt/152 │ #4 *. Virt/152 │
- <void> │ <void> │
- #12 grad_*. Virt/30 │ #5 grad_*. Virt/30 │
- <void> │ <void> │
- #10 3. Virt/40│#7 **. Virt/152 │#3 4. Virt/40│#0 x │
- <void> │<void> │<void> │ 5.00 │
- │#8 grad_**. Virt/30│ │#1 grad_x Local/30│
- │<void> │ │<void> │
- │[0]│ #6 2. Virt/40 │ │ │
- │ │ <void> │ │ │
+ #15 +_f_nd
+ 5.00
+ #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
+ 5.00
+ #33 grad_+_f
+ 1.00
+ #30 - │#19 5. Virt/40
+ 0.00 │<void>
+ #31 grad_- │
+ 1.00 │
+ #28 *. │ #21 *. │
+ 0.00 │ 0.00 │
+ #29 grad_*. │ #22 grad_*. │
+ 1.00 │ -1.00 │
+ #27 3. Virt/40│ #24 **. │#20 4. Virt/40│[17]│
+ <void> │ 0.00 │<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 =
@@ -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
+ 6.60e+2
+ #13 grad_*._l
+ 1.00
+ #8 +_d │[10]
+ 3.30e+1 │
+ #9 grad_+_d │
+ 2.00e+1 │
+ #4 *._e │[6]│
+ 2.50e+1 │ │
+ #5 grad_*._e│ │
+ 2.00e+1 │ │
+ [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
+ 6.60e+2
+ #13 grad_*._l
+ 1.00
+ #8 +_d │[10]
+ 3.30e+1 │
+ #9 grad_+_d │
+ 2.00e+1 │
+ #4 *._e │[6]│
+ 2.50e+1 │ │
+ #5 grad_*._e│ │
+ 2.00e+1 │ │
+ [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
+ 5.87e+2
+ #13 grad_*._l
+ 1.00
+ #8 +_d │[10]
+ 3.01e+1 │
+ #9 grad_+_d │
+ 1.95e+1 │
+ #4 *._e │[6]│
+ 2.22e+1 │ │
+ #5 grad_*._e│ │
+ 1.95e+1 │ │
+ [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
+ 5.33e+5
+ #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
+ 5.33e+5
+ #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
+ 5.16e+5
+ #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
+ 3.00e+1
+ #9 grad_+_v
+ 1.00
+ #6 * │[0]
+ 0.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
+ 8.54e-44
+ #9 grad_+_v Virt/40
+ <void>
+ #6 * Local/1046 │[0]
+ <void> │
+ #7 grad_* Virt/40│
+ <void> │
+ [2]│[4] │
|}]
File "test/training/moons_demo_parallel.expected", line 1, characters 0-0:
/usr/local/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..8f94a5f 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:
+┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
+│ 1.69e+2 │ - │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│b │ │
+│a │ │
+│t │ │
+│c │ │
+│h │ │
+│ │ │
+│l │ │
+│o │ │
+│g │ │
+│ │ │
+│l │ │
+│o │ │
+│s │ │
+│s │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ -- -----------------------------------------------------------------------------------------------│
+│ │ - - - - - - - │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ -1.04e+1│--- │
+├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
+│ │0.00 4.39e+2│
+│ │ step │
+└─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
+Epoch Log-loss:
+┌────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
+│ 1.69e+2│- │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│e │ │
+│p │ │
+│o │ │
+│c │ │
+│h │ │
+│ │ │
+│l │ │
+│o │ │
+│g │ │
+│ │ │
+│l │ │
+│o │ │
+│s │ │
+│s │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ 2.57e+1│ - - - - - - - - - - - - - - - - - - - │
+├────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
+│ │0.00 1.90e+1│
+│ │ step │
+└────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
\ No newline at end of file
jail: /usr/bin/su -l opam -c cd '/src' && env OCAMLCI='true' CI='true' 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' OPAMCOLOR='always' CLICOLOR_FORCE='1' '/usr/bin/env' 'bash' '-c' 'opam exec -- dune build @install @check @runtest && rm -rf _build': failed
"jail" "-c" "name=obuilder_11788_140021" "mount.devfs" "path=/obuilder/result/8492a29d0b7a6beaf10d61d29465a0cc22190d798d1726eff0568d7f109227be/rootfs" "vnet" "exec.start=/sbin/ifconfig lo0 127.0.0.1/8" "command=/usr/bin/su" "-l" "opam" "-c" "cd '/src' && env OCAMLCI='true' CI='true' 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' OPAMCOLOR='always' CLICOLOR_FORCE='1' '/usr/bin/env' 'bash' '-c' 'opam exec -- dune build @install @check @runtest && rm -rf _build'" failed with exit status 1
2025-07-14 16:02.43: Job failed: Failed: Build failed