2025-07-14 11:15.21: New job: test ahrefs/ocannl https://github.com/ahrefs/ocannl.git#refs/heads/master (89301cec4e85065a5b2c7c8c473760c0388f4384) (linux-x86_64:fedora-42-5.3_opam-2.3)
Base: ocaml/opam:fedora-42-ocaml-5.3@sha256:ea1b0e805553bb8a6a73624dbd4f52899c1622d61292ca81567ed151a5350121
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/ahrefs/ocannl.git" -b "master" && cd "ocannl" && git reset --hard 89301cec
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:fedora-42-ocaml-5.3@sha256:ea1b0e805553bb8a6a73624dbd4f52899c1622d61292ca81567ed151a5350121
# fedora-42-5.3_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo dnf install -y findutils
RUN sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam
RUN opam init --reinit -ni
RUN uname -rs && opam exec -- ocaml -version && opam --version
WORKDIR /src
RUN sudo chown opam /src
RUN cd ~/opam-repository && (git cat-file -e 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 || git fetch origin master) && git reset -q --hard 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 neural_nets_lib.opam arrayjit.opam ./
RUN opam pin add -yn neural_nets_lib.dev './' && \
opam pin add -yn arrayjit.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 camlzip.1.13 cmdliner.1.3.0 conf-libcurl.2 conf-libffi.2.0.0 conf-pkg-config.4 conf-zlib.1 cppo.1.8.0 csexp.1.5.2 csv.2.4 ctypes.0.23.0 ctypes-foreign.0.23.0 curl.0.10.0 dune.3.19.1 dune-configurator.3.19.1 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.1.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.1 ppx_minidebug.2.3.0 ppx_optcomp.v0.17.1 ppx_sexp_conv.v0.17.1 ppx_string.v0.17.0 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.13.2 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS
RUN opam install $DEPS
COPY --chown=1000:1000 . /src
RUN opam exec -- dune build @install @check @runtest && rm -rf _build
END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK
2025-07-14 11:15.21: Using cache hint "ahrefs/ocannl-ocaml/opam:fedora-42-ocaml-5.3@sha256:ea1b0e805553bb8a6a73624dbd4f52899c1622d61292ca81567ed151a5350121-fedora-42-5.3_opam-2.3-ee06dfbb3e21290708c2c8a6224283e3"
2025-07-14 11:15.21: Using OBuilder spec:
((from ocaml/opam:fedora-42-ocaml-5.3@sha256:ea1b0e805553bb8a6a73624dbd4f52899c1622d61292ca81567ed151a5350121)
(comment fedora-42-5.3_opam-2.3)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (network host)
(shell "sudo dnf install -y findutils"))
(run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
(run (shell "opam init --reinit -ni"))
(run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
(workdir /src)
(run (shell "sudo chown opam /src"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 || git fetch origin master) && git reset -q --hard 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))
(run (network host)
(shell "opam pin add -yn neural_nets_lib.dev './' && \
\nopam pin add -yn arrayjit.dev './'"))
(run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
(env DEPS "angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 camlzip.1.13 cmdliner.1.3.0 conf-libcurl.2 conf-libffi.2.0.0 conf-pkg-config.4 conf-zlib.1 cppo.1.8.0 csexp.1.5.2 csv.2.4 ctypes.0.23.0 ctypes-foreign.0.23.0 curl.0.10.0 dune.3.19.1 dune-configurator.3.19.1 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.1.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.1 ppx_minidebug.2.3.0 ppx_optcomp.v0.17.1 ppx_sexp_conv.v0.17.1 ppx_string.v0.17.0 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.13.2 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0")
(env CI true)
(env OCAMLCI true)
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
(copy (src .) (dst /src))
(run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
)
2025-07-14 11:15.21: Waiting for resource in pool OCluster
2025-07-14 11:15.21: Waiting for worker…
2025-07-14 11:15.21: Got resource from pool OCluster
Building on phoebe
HEAD is now at f529aeef row.ml: fix missing divisibility guards, improve At_least_dim for Conv_input
HEAD is now at 89301cec Missing from the previous commit
(from ocaml/opam:fedora-42-ocaml-5.3@sha256:ea1b0e805553bb8a6a73624dbd4f52899c1622d61292ca81567ed151a5350121)
2025-07-14 11:15.23 ---> using "a61c5f6f03734f3c3d167ce873b3e609ad74c9b026554f114b851960295fc4f2" from cache
/: (comment fedora-42-5.3_opam-2.3)
/: (user (uid 1000) (gid 1000))
/: (env CLICOLOR_FORCE 1)
/: (env OPAMCOLOR always)
/: (workdir /src)
/src: (run (network host)
(shell "sudo dnf install -y findutils"))
Updating and loading repositories:
Fedora 42 - x86_64 - Updates 100% | 69.4 KiB/s | 7.1 KiB | 00m00s
Fedora 42 - x86_64 - Updates 100% | 3.8 MiB/s | 3.3 MiB | 00m01s
Repositories loaded.
Nothing to do.
Package "findutils-1:4.10.0-5.fc42.x86_64" is already installed.
2025-07-14 11:15.23 ---> using "952e47f1c3af22704f09a97a8c702a3d77b24be7eb1ee33ddffe5e6f75537d20" from cache
/src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2025-07-14 11:15.23 ---> using "2e10569377eff330cd0aeb07f0a1c557d1abe3231b2a7da554d1bb0648e45209" from cache
/src: (run (shell "opam init --reinit -ni"))
Configuring from /home/opam/.opamrc and then from built-in defaults.
Checking for available remotes: rsync and local, git.
- you won't be able to use mercurial repositories unless you install the hg command on your system.
- you won't be able to use darcs repositories unless you install the darcs command on your system.
This development version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.
Continue? [y/n] y
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-07-14 11:15.23 ---> using "7be74babee42f4acbe09fe49d29394048539a2f5fdc47201479f4327d4923f4b" from cache
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 6.8.0-63-generic
The OCaml toplevel, version 5.3.0
2.3.0
2025-07-14 11:15.23 ---> using "e3d7d420be7fd58ffbb0067e2054af46b2150d363cb125f6bec30877db445ad8" from cache
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2025-07-14 11:15.23 ---> using "db67762010cc58a1eeb9fd06a886ab2f85728acbbc5892e77b7a0f06cac29d7c" from cache
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 || git fetch origin master) && git reset -q --hard 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch master -> FETCH_HEAD
6dea2f9390..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).
However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages.
Nothing to do.
# To update the current shell environment, run: eval $(opam env)
2025-07-14 11:15.23 ---> using "d622eb3d1f96cf697ff646afb61fcf49b1416ae97997bdc7d913b3df1db01fc5" from cache
/src: (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))
2025-07-14 11:15.23 ---> using "52a79665d65eb465f9cc915fbe7f883e576e0335f2404f3660a373f2be55d262" 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 11:15.23 ---> using "34d3e8d5e0b868c865794043343902f08c4a70dfa723f7101e7138dea6c611b7" from cache
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-07-14 11:15.23 ---> using "c768a5590a12f2fa4b3ca3b46e905231b24d70c5378f2c506e278d8573fbc095" from cache
/src: (env DEPS "angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 camlzip.1.13 cmdliner.1.3.0 conf-libcurl.2 conf-libffi.2.0.0 conf-pkg-config.4 conf-zlib.1 cppo.1.8.0 csexp.1.5.2 csv.2.4 ctypes.0.23.0 ctypes-foreign.0.23.0 curl.0.10.0 dune.3.19.1 dune-configurator.3.19.1 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.1.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.1 ppx_minidebug.2.3.0 ppx_optcomp.v0.17.1 ppx_sexp_conv.v0.17.1 ppx_string.v0.17.0 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.13.2 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0")
/src: (env CI true)
/src: (env OCAMLCI true)
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS"))
+ /usr/sbin/sudo "yum" "makecache"
- Updating and loading repositories:
- Repositories loaded.
- Metadata cache created.
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[arrayjit.dev] synchronised (file:///src)
[neural_nets_lib.dev] synchronised (file:///src)
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.0).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following system packages will first need to be installed:
libcurl-devel libffi-devel zlib-ng-compat-devel
<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
+ /usr/sbin/sudo "yum" "install" "-y" "libcurl-devel" "libffi-devel" "zlib-ng-compat-devel"
- Updating and loading repositories:
- Repositories loaded.
- Package Arch Version Repository Size
- Installing:
- libcurl-devel x86_64 8.11.1-5.fc42 updates 1.3 MiB
- libffi-devel x86_64 3.4.6-5.fc42 fedora 33.1 KiB
- zlib-ng-compat-devel x86_64 2.2.4-3.fc42 fedora 107.0 KiB
- Installing dependencies:
- brotli x86_64 1.1.0-6.fc42 fedora 31.6 KiB
- brotli-devel x86_64 1.1.0-6.fc42 fedora 65.6 KiB
- cmake-filesystem x86_64 3.31.6-2.fc42 fedora 0.0 B
- keyutils-libs-devel x86_64 1.6.3-5.fc42 fedora 48.2 KiB
- krb5-devel x86_64 1.21.3-6.fc42 updates 705.9 KiB
- libcom_err-devel x86_64 1.47.2-3.fc42 fedora 16.7 KiB
- libidn2-devel x86_64 2.3.8-1.fc42 fedora 149.1 KiB
- libkadm5 x86_64 1.21.3-6.fc42 updates 213.9 KiB
- libnghttp2-devel x86_64 1.64.0-3.fc42 fedora 295.4 KiB
- libpsl-devel x86_64 0.21.5-5.fc42 fedora 110.3 KiB
- libselinux-devel x86_64 3.8-2.fc42 updates 126.8 KiB
- libsepol-devel x86_64 3.8-1.fc42 fedora 120.8 KiB
- libssh-devel x86_64 0.11.2-1.fc42 updates 178.0 KiB
- libverto-devel x86_64 0.3.2-10.fc42 fedora 25.7 KiB
- openssl-devel x86_64 1:3.2.4-3.fc42 fedora 4.3 MiB
- pcre2-devel x86_64 10.45-1.fc42 fedora 2.1 MiB
- pcre2-utf16 x86_64 10.45-1.fc42 fedora 626.3 KiB
- pcre2-utf32 x86_64 10.45-1.fc42 fedora 598.2 KiB
- publicsuffix-list noarch 20250616-1.fc42 updates 332.8 KiB
-
- Transaction Summary:
- Installing: 22 packages
-
- Total size of inbound packages is 6 MiB. Need to download 6 MiB.
- After this operation, 11 MiB extra will be used (install 11 MiB, remove 0 B).
- [ 1/22] libffi-devel-0:3.4.6-5.fc42.x86 100% | 271.5 KiB/s | 28.8 KiB | 00m00s
- [ 2/22] zlib-ng-compat-devel-0:2.2.4-3. 100% | 349.3 KiB/s | 38.4 KiB | 00m00s
- [ 3/22] cmake-filesystem-0:3.31.6-2.fc4 100% | 1.0 MiB/s | 17.6 KiB | 00m00s
- [ 4/22] krb5-devel-0:1.21.3-6.fc42.x86_ 100% | 217.2 KiB/s | 142.5 KiB | 00m01s
- [ 5/22] libkadm5-0:1.21.3-6.fc42.x86_64 100% | 117.0 KiB/s | 76.4 KiB | 00m01s
- [ 6/22] brotli-devel-0:1.1.0-6.fc42.x86 100% | 471.2 KiB/s | 33.9 KiB | 00m00s
- [ 7/22] brotli-0:1.1.0-6.fc42.x86_64 100% | 687.8 KiB/s | 19.9 KiB | 00m00s
- [ 8/22] libidn2-devel-0:2.3.8-1.fc42.x8 100% | 2.0 MiB/s | 64.0 KiB | 00m00s
- [ 9/22] libnghttp2-devel-0:1.64.0-3.fc4 100% | 2.4 MiB/s | 55.7 KiB | 00m00s
- [10/22] libpsl-devel-0:0.21.5-5.fc42.x8 100% | 2.3 MiB/s | 33.2 KiB | 00m00s
- [11/22] libssh-devel-0:0.11.2-1.fc42.x8 100% | 80.4 KiB/s | 41.5 KiB | 00m01s
- [12/22] libcurl-devel-0:8.11.1-5.fc42.x 100% | 634.5 KiB/s | 881.9 KiB | 00m01s
- [13/22] libsepol-devel-0:3.8-1.fc42.x86 100% | 1.8 MiB/s | 48.4 KiB | 00m00s
- [14/22] keyutils-libs-devel-0:1.6.3-5.f 100% | 6.5 MiB/s | 59.9 KiB | 00m00s
- [15/22] libcom_err-devel-0:1.47.2-3.fc4 100% | 836.8 KiB/s | 16.7 KiB | 00m00s
- [16/22] libverto-devel-0:0.3.2-10.fc42. 100% | 799.9 KiB/s | 14.4 KiB | 00m00s
- [17/22] libselinux-devel-0:3.8-2.fc42.x 100% | 582.9 KiB/s | 151.5 KiB | 00m00s
- [18/22] openssl-devel-1:3.2.4-3.fc42.x8 100% | 4.3 MiB/s | 2.8 MiB | 00m01s
- [19/22] publicsuffix-list-0:20250616-1. 100% | 620.0 KiB/s | 89.9 KiB | 00m00s
- [20/22] pcre2-devel-0:10.45-1.fc42.x86_ 100% | 4.9 MiB/s | 543.4 KiB | 00m00s
- [21/22] pcre2-utf32-0:10.45-1.fc42.x86_ 100% | 2.1 MiB/s | 228.7 KiB | 00m00s
- [22/22] pcre2-utf16-0:10.45-1.fc42.x86_ 100% | 2.0 MiB/s | 241.9 KiB | 00m00s
- --------------------------------------------------------------------------------
- [22/22] Total 100% | 2.8 MiB/s | 5.6 MiB | 00m02s
- Running transaction
- [ 1/24] Verify package files 100% | 282.0 B/s | 22.0 B | 00m00s
- [ 2/24] Prepare transaction 100% | 107.0 B/s | 22.0 B | 00m00s
- [ 3/24] Installing cmake-filesystem-0:3 100% | 1.5 MiB/s | 7.6 KiB | 00m00s
- [ 4/24] Installing zlib-ng-compat-devel 100% | 35.3 MiB/s | 108.5 KiB | 00m00s
- [ 5/24] Installing libssh-devel-0:0.11. 100% | 58.8 MiB/s | 180.6 KiB | 00m00s
- [ 6/24] Installing pcre2-utf32-0:10.45- 100% | 97.5 MiB/s | 599.1 KiB | 00m00s
- [ 7/24] Installing pcre2-utf16-0:10.45- 100% | 102.1 MiB/s | 627.1 KiB | 00m00s
- [ 8/24] Installing pcre2-devel-0:10.45- 100% | 65.4 MiB/s | 2.1 MiB | 00m00s
- [ 9/24] Installing publicsuffix-list-0: 100% | 81.5 MiB/s | 333.8 KiB | 00m00s
- [10/24] Installing libpsl-devel-0:0.21. 100% | 110.9 MiB/s | 113.6 KiB | 00m00s
- [11/24] Installing libverto-devel-0:0.3 100% | 25.7 MiB/s | 26.4 KiB | 00m00s
- [12/24] Installing libcom_err-devel-0:1 100% | 730.9 KiB/s | 18.3 KiB | 00m00s
- [13/24] Installing keyutils-libs-devel- 100% | 27.0 MiB/s | 55.2 KiB | 00m00s
- [14/24] Installing libsepol-devel-0:3.8 100% | 17.9 MiB/s | 128.3 KiB | 00m00s
- [15/24] Installing libselinux-devel-0:3 100% | 8.3 MiB/s | 161.6 KiB | 00m00s
- [16/24] Installing openssl-devel-1:3.2. 100% | 79.9 MiB/s | 5.2 MiB | 00m00s
- [17/24] Installing libnghttp2-devel-0:1 100% | 96.5 MiB/s | 296.5 KiB | 00m00s
- [18/24] Installing libidn2-devel-0:2.3. 100% | 76.5 MiB/s | 156.7 KiB | 00m00s
- [19/24] Installing brotli-0:1.1.0-6.fc4 100% | 1.3 MiB/s | 32.3 KiB | 00m00s
- [20/24] Installing brotli-devel-0:1.1.0 100% | 33.2 MiB/s | 68.0 KiB | 00m00s
- [21/24] Installing libkadm5-0:1.21.3-6. 100% | 52.7 MiB/s | 215.9 KiB | 00m00s
- [22/24] Installing krb5-devel-0:1.21.3- 100% | 18.9 MiB/s | 715.2 KiB | 00m00s
- [23/24] Installing libcurl-devel-0:8.11 100% | 33.2 MiB/s | 1.4 MiB | 00m00s
- [24/24] Installing libffi-devel-0:3.4.6 100% | 457.8 KiB/s | 34.8 KiB | 00m00s
- Complete!
+ /usr/sbin/rpm "-q" "--whatprovides" "libcurl-devel" "libffi-devel" "zlib-ng-compat-devel"
- libcurl-devel-8.11.1-5.fc42.x86_64
- libffi-devel-3.4.6-5.fc42.x86_64
- zlib-ng-compat-devel-2.2.4-3.fc42.x86_64
2025-07-14 11:15.23 ---> using "c98691df065c3a5a3abf8cf528a8fc9a5a966a1f21120f2b4f80feb42d6250da" from cache
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.0).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following actions will be performed:
=== install 81 packages
- install angstrom 0.16.1
- install astring 0.8.5
- install backoff 0.1.1
- install base v0.17.3
- install base-bytes base
- install bigarray-compat 1.1.0
- install bigstringaf 0.10.0
- install camlp-streams 5.0.1
- install camlzip 1.13
- install cmdliner 1.3.0
- install conf-libcurl 2
- install conf-libffi 2.0.0
- install conf-pkg-config 4
- install conf-zlib 1
- install cppo 1.8.0
- install csexp 1.5.2
- install csv 2.4
- install ctypes 0.23.0
- install ctypes-foreign 0.23.0
- install curl 0.10.0
- install dune 3.19.1
- install dune-configurator 3.19.1
- install fieldslib v0.17.0
- install fmt 0.10.0
- install integers 0.7.0
- install jane-street-headers v0.17.0
- install jst-config v0.17.0
- install logs 0.9.0
- install mdx 2.5.0
- install mtime 2.1.0
- install multicore-magic 2.3.1
- install num 1.6
- install ocaml-compiler-libs v0.17.0
- install ocaml-syntax-shims 1.0.0
- install ocaml-version 4.0.1
- install ocaml_intrinsics_kernel v0.17.1
- install ocamlbuild 0.16.1
- install ocamlfind 1.9.8
- install parsexp v0.17.0
- install pprint 20230830
- install ppx_assert v0.17.0
- install ppx_base v0.17.0
- install ppx_cold v0.17.0
- install ppx_compare v0.17.0
- install ppx_derivers 1.2.1
- install ppx_deriving 6.1.0
- install ppx_enumerate v0.17.0
- install ppx_expect v0.17.3
- install ppx_fields_conv v0.17.0
- install ppx_globalize v0.17.2
- install ppx_hash v0.17.0
- install ppx_here v0.17.0
- install ppx_inline_test v0.17.1
- install ppx_minidebug 2.3.0
- install ppx_optcomp v0.17.1
- install ppx_sexp_conv v0.17.1
- install ppx_string v0.17.0
- install ppx_variants_conv v0.17.1
- install ppxlib 0.36.0
- install ppxlib_jane v0.17.4
- install printbox 0.12
- install printbox-ext-plot 0.12
- install printbox-html 0.12
- install printbox-md 0.12
- install printbox-text 0.12
- install ptime 1.2.0
- install re 1.13.2
- install result 1.5
- install saturn_lockfree 0.5.0
- install seq base
- install sexplib v0.17.0
- install sexplib0 v0.17.0
- install stdio v0.17.0
- install stdlib-shims 0.3.0
- install thread-local-storage 0.2
- install time_now v0.17.0
- install topkg 1.0.8
- install tyxml 4.6.0
- install uucp 16.0.0
- install uutf 1.0.4
- install variantslib v0.17.0
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1 (cached)
-> retrieved astring.0.8.5 (cached)
-> retrieved backoff.0.1.1 (cached)
-> retrieved bigarray-compat.1.1.0 (cached)
-> retrieved bigstringaf.0.10.0 (cached)
-> retrieved base.v0.17.3 (cached)
-> retrieved camlp-streams.5.0.1 (cached)
-> retrieved camlzip.1.13 (cached)
-> retrieved cmdliner.1.3.0 (cached)
-> retrieved cppo.1.8.0 (cached)
-> installed conf-libcurl.2
-> installed conf-pkg-config.4
-> retrieved csexp.1.5.2 (cached)
-> retrieved csv.2.4 (cached)
-> retrieved ctypes.0.23.0, ctypes-foreign.0.23.0 (cached)
-> installed conf-libffi.2.0.0
-> installed conf-zlib.1
-> retrieved curl.0.10.0 (cached)
-> retrieved fieldslib.v0.17.0 (cached)
-> retrieved fmt.0.10.0 (cached)
-> retrieved integers.0.7.0 (cached)
-> retrieved jane-street-headers.v0.17.0 (cached)
-> retrieved jst-config.v0.17.0 (cached)
-> retrieved logs.0.9.0 (cached)
-> retrieved mtime.2.1.0 (cached)
-> retrieved multicore-magic.2.3.1 (cached)
-> retrieved num.1.6 (cached)
-> retrieved mdx.2.5.0 (cached)
-> retrieved ocaml-compiler-libs.v0.17.0 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved ocaml-version.4.0.1 (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved parsexp.v0.17.0 (cached)
-> retrieved pprint.20230830 (cached)
-> retrieved dune.3.19.1, dune-configurator.3.19.1 (cached)
-> installed num.1.6
-> retrieved ppx_assert.v0.17.0 (cached)
-> retrieved ppx_base.v0.17.0 (cached)
-> retrieved ppx_cold.v0.17.0 (cached)
-> retrieved ppx_compare.v0.17.0 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> retrieved ppx_enumerate.v0.17.0 (cached)
-> retrieved ppx_expect.v0.17.3 (cached)
-> retrieved ppx_deriving.6.1.0 (cached)
-> retrieved ppx_fields_conv.v0.17.0 (cached)
-> retrieved ppx_globalize.v0.17.2 (cached)
-> retrieved ppx_hash.v0.17.0 (cached)
-> retrieved ppx_here.v0.17.0 (cached)
-> retrieved ppx_inline_test.v0.17.1 (cached)
-> retrieved ppx_optcomp.v0.17.1 (cached)
-> retrieved ppx_sexp_conv.v0.17.1 (cached)
-> retrieved ppx_string.v0.17.0 (cached)
-> retrieved ppx_minidebug.2.3.0 (cached)
-> retrieved ppx_variants_conv.v0.17.1 (cached)
-> retrieved ppxlib_jane.v0.17.4 (cached)
-> retrieved ptime.1.2.0 (cached)
-> retrieved re.1.13.2 (cached)
-> retrieved result.1.5 (cached)
-> retrieved saturn_lockfree.0.5.0 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved sexplib.v0.17.0 (cached)
-> retrieved sexplib0.v0.17.0 (cached)
-> retrieved stdio.v0.17.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved thread-local-storage.0.2 (cached)
-> retrieved 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 time_now.v0.17.0 (cached)
-> retrieved topkg.1.0.8 (cached)
-> retrieved uutf.1.0.4 (cached)
-> retrieved variantslib.v0.17.0 (cached)
-> retrieved tyxml.4.6.0 (cached)
-> installed cmdliner.1.3.0
-> retrieved uucp.16.0.0 (cached)
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed camlzip.1.13
-> installed ocamlbuild.0.16.1
-> installed topkg.1.0.8
-> installed mtime.2.1.0
-> installed uutf.1.0.4
-> installed fmt.0.10.0
-> installed ptime.1.2.0
-> installed astring.0.8.5
-> installed logs.0.9.0
-> installed dune.3.19.1
-> installed jane-street-headers.v0.17.0
-> installed bigarray-compat.1.1.0
-> installed csexp.1.5.2
-> installed backoff.0.1.1
-> installed camlp-streams.5.0.1
-> installed cppo.1.8.0
-> installed csv.2.4
-> installed multicore-magic.2.3.1
-> installed ocaml-compiler-libs.v0.17.0
-> installed ocaml-syntax-shims.1.0.0
-> installed ocaml-version.4.0.1
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed pprint.20230830
-> installed ppx_derivers.1.2.1
-> installed printbox.0.12
-> installed re.1.13.2
-> installed result.1.5
-> installed sexplib0.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed thread-local-storage.0.2
-> installed saturn_lockfree.0.5.0
-> installed integers.0.7.0
-> installed parsexp.v0.17.0
-> installed dune-configurator.3.19.1
-> installed mdx.2.5.0
-> installed sexplib.v0.17.0
-> installed bigstringaf.0.10.0
-> installed tyxml.4.6.0
-> installed angstrom.0.16.1
-> installed printbox-html.0.12
-> installed curl.0.10.0
-> installed ctypes.0.23.0
-> installed uucp.16.0.0
-> installed ctypes-foreign.0.23.0
-> installed printbox-text.0.12
-> installed printbox-md.0.12
-> installed base.v0.17.3
-> installed printbox-ext-plot.0.12
-> installed variantslib.v0.17.0
-> installed fieldslib.v0.17.0
-> installed stdio.v0.17.0
-> installed ppxlib.0.36.0
-> installed ppx_optcomp.v0.17.1
-> installed ppxlib_jane.v0.17.4
-> installed ppx_cold.v0.17.0
-> installed ppx_here.v0.17.0
-> installed ppx_variants_conv.v0.17.1
-> installed ppx_fields_conv.v0.17.0
-> installed ppx_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_hash.v0.17.0
-> installed ppx_assert.v0.17.0
-> installed ppx_base.v0.17.0
-> installed ppx_minidebug.2.3.0
-> installed jst-config.v0.17.0
-> installed ppx_string.v0.17.0
-> installed time_now.v0.17.0
-> installed ppx_inline_test.v0.17.1
-> installed ppx_expect.v0.17.3
Done.
# To update the current shell environment, run: eval $(opam env)
2025-07-14 11:15.23 ---> using "8a939845847558972961e38cfbf6ba422a16c3cb90ecc27d17d37adda11ec25e" from cache
/src: (copy (src .) (dst /src))
2025-07-14 11:15.23 ---> saved as "0ef3aae5835370cb508b50b4232c34a37cfe5ee2bd547ad83d10fcf6f6ccb916"
/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/sbin/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
File "test/einsum/test_print_style.expected", line 1, characters 0-0:
/usr/sbin/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 e51ab37..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/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/sbin/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...
(cd _build/default/test/ppx && ./test_ppx_op_expected.exe)
Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/ppx/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/default/test/ppx && ./test_ppx_op.exe)
Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/ppx/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/14eda63426bc71e0846f8aa0e8fe512c/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/14eda63426bc71e0846f8aa0e8fe512c/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/14eda63426bc71e0846f8aa0e8fe512c/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/14eda63426bc71e0846f8aa0e8fe512c/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/14eda63426bc71e0846f8aa0e8fe512c/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/14eda63426bc71e0846f8aa0e8fe512c/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/14eda63426bc71e0846f8aa0e8fe512c/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/89c1838652fc91e111fcc4846da9f970/default/test/einsum/ocannl_config.' -source-tree-root ../.. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/14eda63426bc71e0846f8aa0e8fe512c/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/ce95b46f1c730b9ab15c534536975834/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/ce95b46f1c730b9ab15c534536975834/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/ce95b46f1c730b9ab15c534536975834/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/0dfef183b36158795369664eb5310309/default/test/operations/ocannl_config.' -source-tree-root ../.. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/ce95b46f1c730b9ab15c534536975834/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/ce95b46f1c730b9ab15c534536975834/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/ce95b46f1c730b9ab15c534536975834/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/ce95b46f1c730b9ab15c534536975834/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/ce95b46f1c730b9ab15c534536975834/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/einsum/dune", line 5, characters 7-25:
5 | (name moons_demo_variant)
^^^^^^^^^^^^^^^^^^
(cd _build/default/test/einsum && ./moons_demo_variant.exe) > _build/default/test/einsum/moons_demo_variant.exe.output
Fatal error: exception (lib/shape.ml.Shape_error "Total_elems constraint: 10 not divisible by 3" ())
Raised at Ocannl__Row.row_conjunction.extras in file "lib/row.ml", lines 464-466, characters 10-101
Called from Ocannl__Row.row_conjunction.extras in file "lib/row.ml", line 507, characters 53-94
Called from Ocannl__Row.row_conjunction in file "lib/row.ml", line 544, characters 46-74
Called from Ocannl__Row.apply_row_constraint in file "lib/row.ml", line 952, characters 16-92
Called from Ocannl__Row.solve_inequalities.solve.f in file "lib/row.ml", line 2092, characters 32-88
Called from Base__List0.fold in file "src/list0.ml", line 43, characters 27-37
Called from Ocannl__Row.solve_inequalities.solve in file "lib/row.ml", line 2101, characters 22-56
Re-raised at Ocannl__Row.solve_inequalities.solve in file "lib/row.ml", lines 2054-2107, characters 16-25
Called from Ocannl__Row.solve_inequalities in file "lib/row.ml", line 2120, characters 6-44
Re-raised at Ocannl__Row.solve_inequalities in file "lib/row.ml", lines 2052-2133, characters 35-44
Called from Ocannl__Shape.finish_inference in file "lib/shape.ml", line 710, characters 22-71
Re-raised at Ocannl__Shape.finish_inference in file "lib/shape.ml", lines 705-723, characters 33-24
Called from Ocannl__Shape.to_dims in file "lib/shape.ml", line 751, characters 2-21
Called from CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 49, characters 17-27
Re-raised at CamlinternalLazy.do_force_block in file "camlinternalLazy.ml", line 56, characters 4-11
Called from CamlinternalLazy.force_lazy_block in file "camlinternalLazy.ml" (inlined), line 78, characters 27-67
Called from Ir__Low_level.is_scalar_dims in file "arrayjit/lib/low_level.ml", line 196, characters 54-75
Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 229, characters 13-30
Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 209, characters 15-41
Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 213, characters 8-15
Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 209, characters 15-41
Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 213, characters 8-15
Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 209, characters 15-41
Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 213, characters 8-15
Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 209, characters 15-41
Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 213, characters 8-15
Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 209, characters 15-41
Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 213, characters 8-15
Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml" (inlined), line 209, characters 15-41
Called from Ir__Low_level.visit_llc.loop_proc in file "arrayjit/lib/low_level.ml", line 213, characters 8-15
Called from Ir__Low_level.visit_llc in file "arrayjit/lib/low_level.ml", line 289, characters 2-52
Called from Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 938-939, characters 2-7
Re-raised at Ir__Low_level.optimize_proc in file "arrayjit/lib/low_level.ml", lines 932-951, characters 30-49
Called from Ir__Low_level.optimize in file "arrayjit/lib/low_level.ml", line 1176, characters 15-57
Called from Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", line 451, characters 2-85
Re-raised at Ir__Assignments.lower in file "arrayjit/lib/assignments.ml", lines 444-451, characters 22-85
Called from Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 256-257, characters 4-45
Re-raised at Backends.lower_assignments in file "arrayjit/lib/backends.ml", lines 248-257, characters 34-47
Called from Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", line 441, characters 6-59
Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 440-441, characters 4-59
Re-raised at Backends.Raise_backend.compile in file "arrayjit/lib/backends.ml", lines 439-447, characters 26-99
Called from Ocannl__Train.to_routine in file "lib/train.ml", line 354, characters 26-82
Called from Dune__exe__Moons_demo_variant in file "test/einsum/moons_demo_variant.ml", line 54, characters 21-79
File "test/operations/dune", lines 19-29, characters 0-281:
19 | (rule
20 | (alias runtest)
21 | (target
22 | (dir log_files))
23 | (action
24 | (run
25 | %{dep:micrograd_demo_logging.exe}
26 | "--ocannl_debug_backend=text"
27 | "--ocannl_log_file_stem=micrograd_demo_logging"
28 | "--ocannl_log_main_domain_to_stdout=false"
29 | "--ocannl_debug_log_to_stream_files=true")))
(cd _build/default/test/operations && ./micrograd_demo_logging.exe --ocannl_debug_backend=text --ocannl_log_file_stem=micrograd_demo_logging --ocannl_log_main_domain_to_stdout=false --ocannl_debug_log_to_stream_files=true)
Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
Retrieving commandline, environment, or config file variable ocannl_backend
Found multicore_cc, in the config file
Retrieving commandline, environment, or config file variable ocannl_limit_constant_fill_size
Not found, using default 256
Retrieving commandline, environment, or config file variable ocannl_cd_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_ll_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_prefer_backend_uniformity
Found true, in the config file
Retrieving commandline, environment, or config file variable ocannl_debug_log_to_stream_files
Found true, commandline --ocannl_debug_log_to_stream_files=true
Retrieving commandline, environment, or config file variable ocannl_cc_backend_optimization_level
Not found, using default 3
Retrieving commandline, environment, or config file variable ocannl_cc_backend_compiler_command
Not found, using default gcc
Retrieving commandline, environment, or config file variable ocannl_cc_backend_verify_codesign
Not found, using default false
Fatal error: exception File "src/printbox-text/PrintBox_text.ml", line 212, characters 6-12: Assertion failed
Raised at PrintBox_text.Output.Make_out.to_buf_aux_ in file "src/printbox-text/PrintBox_text.ml", line 212, characters 6-50
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 19-42
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from PrintBox_text.Output.Make_out.render in file "src/printbox-text/PrintBox_text.ml", line 242, characters 14-64
Called from PrintBox_text.output in file "src/printbox-text/PrintBox_text.ml", line 851, characters 2-31
Called from Minidebug_runtime.PrintBox.output_box in file "minidebug_runtime.ml", line 1527, characters 19-59
Called from Minidebug_runtime.PrintBox.close_log_impl.close_tree in file "minidebug_runtime.ml", line 1572, characters 6-38
Called from Backends.Add_buffer_retrieval_and_syncing.sync_routine in file "arrayjit/lib/backends.ml", lines 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/ce95b46f1c730b9ab15c534536975834/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/ce95b46f1c730b9ab15c534536975834/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/ce95b46f1c730b9ab15c534536975834/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/ce95b46f1c730b9ab15c534536975834/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/einsum/einsum_trivia_exec.expected", line 1, characters 0-0:
/usr/sbin/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 ab456b5..410daaa 100644
--- a/_build/default/test/einsum/einsum_trivia_exec.expected
+++ b/_build/default/test/einsum/einsum_trivia_exec.exe.output
@@ -1,9 +1,8 @@
-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
-[0]: r2x4x3 shape 0:2|2:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:32:21
┌───────────────────────────────────────────────────────────────────────────┐
│[1]: =>_ho shape 0:4|2:2->1:3 │
│┌──────┬───────────────┬───────────────┬───────────────┬──────────────────┐│
@@ -17,8 +16,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:31:21
└───────────────────────────────────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:38:21
-[2]: r2x3x6x7x4x5 shape 0:2,1:3|4:4,5:5->2:6,3:7 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:39:21
+HERE: test/einsum/einsum_trivia_exec.ml:37:21
┌────────────────────────────────────────────────────────────────────────────────────────────┐
│[3]: =>_ho2 shape 0:4,1:7|4:2,5:6->2:5,3:3 │
│┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│
@@ -125,10 +123,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:38:21
└────────────────────────────────────────────────────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:44:21
-[4]: r3x2x4 shape 0:3|2:4->1:2 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:45:21
-[5]: r3x4x1 shape 0:3|2:1->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:46:21
-[5]: r3x4x1 shape 0:3|2:1->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:47:21
+HERE: test/einsum/einsum_trivia_exec.ml:42:21
┌─────────────────────────────────────────────┐
│[6]: ;=>_c shape 0:3|1:4 │
│┌──────┬────────────────────────────────────┐│
@@ -141,8 +136,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:44:21
└─────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:66:21
-[0]: r2x4x3 shape 0:2|2:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:67:21
+HERE: test/einsum/einsum_trivia_exec.ml:61:21
┌────────────────────────────────────┐
│[1]: =>_ho shape 0:2|1:3 │
│┌──────┬───────────────────────────┐│
@@ -154,7 +148,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:66:21
└────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:75:21
+HERE: test/einsum/einsum_trivia_exec.ml:69:21
┌────────────────────────────────────────────────────────────────────────────────────┐
│[3]: =>_ho2 shape 0:4|2:2->1:5 │
│┌──────┬──────────────────┬──────────────────┬──────────────────┬──────────────────┐│
@@ -170,9 +164,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:75:21
└────────────────────────────────────────────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:95:21
-[0]: r2 shape 0:2 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:96:21
-[1]: r3 shape 0:3 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:97:21
+HERE: test/einsum/einsum_trivia_exec.ml:89:21
┌──────────────────────────┐
│[4]: ;=>_c shape 1:2->0:3 │
│┌──────┬────────────┐ │
@@ -185,9 +177,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:95:21
└──────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:102:21
-[5]: r2x4x3 shape 0:2|2:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:103:21
-[6]: r5x7x6 shape 0:5|2:6->1:7 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:104:21
+HERE: test/einsum/einsum_trivia_exec.ml:94:21
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[7]: ;=>_c shape 0:2,1:5|4:3,5:6->2:4,3:7 │
│┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│
@@ -337,7 +327,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:102:21
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:132:21
+HERE: test/einsum/einsum_trivia_exec.ml:122:21
┌────────────────────────────────────────────────────────────────┐
│[2]: ;=>_a2 shape 0:2|2:3->1:4 │
│┌──────┬───────────────────────────┬───────────────────────────┐│
@@ -352,7 +342,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:132:21
└────────────────────────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:133:21
+HERE: test/einsum/einsum_trivia_exec.ml:123:21
┌────────────────────────────────────────────────────────────────┐
│[3]: ;=>_c shape 0:2|2:3->1:5 │
│┌──────┬───────────────────────────┬───────────────────────────┐│
@@ -368,7 +358,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:133:21
└────────────────────────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:134:21
+HERE: test/einsum/einsum_trivia_exec.ml:124:21
┌────────────────────────────────────────────────────────────────┐
│[4]: ;=>_d shape 0:2,1:2|3:3->2:5 │
│┌──────┬───────────────────────────┬───────────────────────────┐│
@@ -390,7 +380,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:134:21
└────────────────────────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:135:21
+HERE: test/einsum/einsum_trivia_exec.ml:125:21
┌────────────────────────────────────┐
│[5]: ;=>_e shape 1:3->0:5 │
│┌──────┬───────────────────────────┐│
@@ -405,7 +395,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:135:21
└────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:136:21
+HERE: test/einsum/einsum_trivia_exec.ml:126:21
┌────────────────────────────────────┐
│[6]: ;=>_f shape 1:3->0:5 │
│┌──────┬───────────────────────────┐│
@@ -420,8 +410,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:136:21
└────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:155:21
-[0]: r2x4x3 shape 0:2|2:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:156:21
+HERE: test/einsum/einsum_trivia_exec.ml:145:21
┌─────────────────────────────────────────────────────────────────────────┐
│[1]: =>_ho shape 0:2|2:4->1:3 │
│┌──────┬───────────────────────────┬────────────────────────────────────┐│
@@ -435,7 +424,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:155:21
└─────────────────────────────────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:159:21
+HERE: test/einsum/einsum_trivia_exec.ml:148:21
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[2]: =>_ho2 shape 0:4|2:3->1:2 │
│┌──────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐│
@@ -448,8 +437,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:159:21
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:166:21
-[3]: r2x3x6x7x4x5 shape 0:2,1:3|4:4,5:5->2:6,3:7 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:167:21
+HERE: test/einsum/einsum_trivia_exec.ml:155:21
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[4]: =>_ho3 shape 0:2,1:5|4:4,5:7->2:6,3:3 │
│┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│
@@ -574,7 +562,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:166:21
└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:171:21
+HERE: test/einsum/einsum_trivia_exec.ml:159:21
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[5]: =>_ho4 shape 0:5|2:7->1:3 │
│┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│
@@ -588,8 +576,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:171:21
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:174:21
-[0]: r2x4x3 shape 0:2|2:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:175:21
+HERE: test/einsum/einsum_trivia_exec.ml:162:21
┌───────────────────────────────────────┐
│[6]: =>_ho5 shape 0:4 │
│┌┬────────────────────────────────────┐│
@@ -600,8 +587,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:174:21
└───────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:179:21
-[7]: r3x4 shape 0:3,1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:180:21
+HERE: test/einsum/einsum_trivia_exec.ml:166:21
┌───────────────────────────────────────┐
│[8]: =>_ho6 shape 0:4 │
│┌┬────────────────────────────────────┐│
@@ -612,8 +598,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:179:21
└───────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:185:21
-[9]: r3x4x2 shape 2:2->0:3,1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:186:21
+HERE: test/einsum/einsum_trivia_exec.ml:171:21
┌─────────────────────────────────────────────┐
│[10]: =>_ho7 shape 0:3,1:2,2:4 │
│┌──────┬────────────────────────────────────┐│
@@ -631,9 +616,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:185:21
└─────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:206:21
-[0]: r3x2x4 shape 0:3|2:4->1:2 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:207:21
-[1]: r3x4x1 shape 0:3|2:1->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:208:21
+HERE: test/einsum/einsum_trivia_exec.ml:191:21
┌─────────────────────────────────────────────┐
│[2]: ;=>_c shape 0:3|1:4 │
│┌──────┬────────────────────────────────────┐│
@@ -646,9 +629,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:206:21
└─────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:214:21
-[3]: r3x2 shape 1:2->0:3 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:215:21
-[4]: r3x4 shape 1:4->0:3 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:216:21
+HERE: test/einsum/einsum_trivia_exec.ml:197:21
┌─────────────────────────────────────────────┐
│[5]: ;=>_f shape 0:3,1:2,2:4 │
│┌──────┬────────────────────────────────────┐│
@@ -666,8 +647,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:214:21
└─────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:235:21
-[0]: r2x4x3 shape 0:2|2:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:236:21
+HERE: test/einsum/einsum_trivia_exec.ml:216:21
┌─────────────────────────────────────────────┐
│[1]: =>_ho shape 0:2|1:4 │
│┌──────┬────────────────────────────────────┐│
@@ -679,8 +659,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:235:21
└─────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:239:21
-[0]: r2x4x3 shape 0:2|2:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:240:21
+HERE: test/einsum/einsum_trivia_exec.ml:219:21
┌────────────────────────────────────────────────────────────────┐
│[2]: =>_ho2 shape 0:2|2:3->1:1 │
│┌──────┬───────────────────────────┬───────────────────────────┐│
@@ -692,8 +671,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:239:21
└────────────────────────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:245:21
-[3]: r3x2 shape 1:2->0:3 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:246:21
+HERE: test/einsum/einsum_trivia_exec.ml:224:21
┌──────────────────────┐
│[4]: =>_ho3 shape 0:1 │
│┌┬─────────┐ │
@@ -704,7 +682,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:245:21
└──────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:249:21
+HERE: test/einsum/einsum_trivia_exec.ml:227:21
┌──────────────────────────────┐
│[5]: =>_ho4 shape 0:2,1:1,2:3 │
│┌──────┬──────────────────┐ │
@@ -719,9 +697,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:249:21
└──────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:269:21
-[0]: r3x2x4 shape 0:3|2:4->1:2 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:270:21
-[1]: r3x4x1 shape 0:3|2:1->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:271:21
+HERE: test/einsum/einsum_trivia_exec.ml:247:21
┌─────────────────────────────────────────────┐
│[2]: ;=>_c shape 0:3|1:4 │
│┌──────┬────────────────────────────────────┐│
@@ -734,179 +710,177 @@ HERE: test/einsum/einsum_trivia_exec.ml:269:21
└─────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:298: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 │ │
-│└──────┴──────────────────┘ │
-└────────────────────────────────┘
+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 │ 2.59e-36 0.00 0.00 ││
+││axis 2│ 2.59e-36 0.00 1.00 ││
+││ │ ... ... ... ││
+││ │ -7.18e-27 4.43e-41 4.00 ││
+││ │ 2.59e-36 -7.18e-27 5.00 ││
+│├──────┼────────────────────────────┤│
+││1 @ 1 │ 2.50e-41 1.00 0.00 ││
+││axis 2│ 0.00 1.00 1.00 ││
+││ │ ... ... ... ││
+││ │ -7.18e-27 1.00 4.00 ││
+││ │ 0.00 1.00 5.00 ││
+│├──────┼────────────────────────────┤│
+││2 @ 1 │ 2.50e-41 2.00 0.00 ││
+││axis 2│ 0.00 2.00 1.00 ││
+││ │ ... ... ... ││
+││ │ -7.18e-27 2.00 4.00 ││
+││ │ 0.00 2.00 5.00 ││
+│├──────┼────────────────────────────┤│
+││3 @ 1 │ 2.50e-41 3.00 0.00 ││
+││axis 2│ 0.00 3.00 1.00 ││
+││ │ ... ... ... ││
+││ │ -7.18e-27 3.00 4.00 ││
+││ │ 0.00 3.00 5.00 ││
+│├──────┼────────────────────────────┤│
+││4 @ 1 │ -1.97e-30 4.00 2.80e-33 ││
+││axis 2│ -1.97e-30 4.00 1.00 ││
+││ │ ... ... ... ││
+││ │ -7.18e-27 4.00 4.00 ││
+││ │ -1.97e-30 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 4.43e-41 4.00 │ │
+││ │ 1.00 -7.18e-27 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 2.80e-33 │ │
+││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 5.60e-45 0.00 │ │
+││axis 2│ 2.00 5.60e-45 1.00 │ │
+││ │ ... ... ... │ │
+││ │ 2.00 4.43e-41 4.00 │ │
+││ │ 2.00 -7.18e-27 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 2.80e-33 │ │
+││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 4.43e-41 4.00 │ │
+││ │ 3.00 -7.18e-27 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 2.80e-33 │ │
+││axis 2│ 3.00 4.00 1.00 │ │
+││ │ ... ... ... │ │
+││ │ 3.00 4.00 4.00 │ │
+││ │ 3.00 4.00 5.00 │ │
+│└──────┴───────────────────────┘ │
+└─────────────────────────────────────┘
+
+
+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 5.60e-45 0.00 ││
+││ │ 3.00 0.00 0.00 ││
+│└──────┴──────────────────────┘│
+└───────────────────────────────┘
+
+
+HERE: test/einsum/einsum_trivia_exec.ml:276:21
+┌─────────────────────────────────────┐
+│[7]: =>_tk shape 0:6,1:3 │
+│┌──────┬────────────────────────────┐│
+││ │axis 1 ││
+│├──────┼────────────────────────────┤│
+││axis 0│ 2.50e-41 0.00 0.00 ││
+││ │ 0.00 0.00 1.00 ││
+││ │ ... ... ... ││
+││ │ -7.18e-27 4.43e-41 4.00 ││
+││ │ 0.00 -7.18e-27 5.00 ││
+│└──────┴────────────────────────────┘│
+└─────────────────────────────────────┘
HERE: test/einsum/einsum_trivia_exec.ml:299: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 ││
-│└──────┴──────────────────┘│
-└───────────────────────────┘
-
-
-HERE: test/einsum/einsum_trivia_exec.ml:300: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 ││
-│└──────┴──────────────────┘│
-└───────────────────────────┘
-
-
-HERE: test/einsum/einsum_trivia_exec.ml:323:21
-[0]: r3x2x4_a shape 0:3|2:4->1:2 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:324:21
-[1]: r3x4x2x3_b shape 0:3|2:2,3:3->1:4 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:325:21
┌─────────────────────────────────────────────────────────────────┐
│[2]: ;=>_c shape 0:3|1:4,2:2 │
│┌──────┬──────────────────┬──────────────────┬──────────────────┐│
@@ -921,9 +895,7 @@ HERE: test/einsum/einsum_trivia_exec.ml:323:21
└─────────────────────────────────────────────────────────────────┘
-HERE: test/einsum/einsum_trivia_exec.ml:344:21
-[0]: r2x2_a shape 1:2->0:2 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:345:21
-[1]: r2x2x3x4_b shape 1:2,2:3,3:4->0:2 <virtual>HERE: test/einsum/einsum_trivia_exec.ml:346:21
+HERE: test/einsum/einsum_trivia_exec.ml:318:21
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[2]: ;=>_c shape 2:4->0:3,1:2 │
│┌──────┬────────────────────────────────────┬────────────────────────────────────┬────────────────────────────────────┐│
(cd _build/.sandbox/ce95b46f1c730b9ab15c534536975834/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/ce95b46f1c730b9ab15c534536975834/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/operations/zero2hero_1of7.ml", line 1, characters 0-0:
/usr/sbin/git --no-pager diff --no-index --color=always -u _build/default/test/operations/zero2hero_1of7.ml _build/.sandbox/ce95b46f1c730b9ab15c534536975834/default/test/operations/zero2hero_1of7.ml.corrected
diff --git a/_build/default/test/operations/zero2hero_1of7.ml b/_build/.sandbox/ce95b46f1c730b9ab15c534536975834/default/test/operations/zero2hero_1of7.ml.corrected
index 2fe7000..f74d28b 100644
--- a/_build/default/test/operations/zero2hero_1of7.ml
+++ b/_build/.sandbox/ce95b46f1c730b9ab15c534536975834/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
+ 8.25
+ #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
+ -1.46e-39 │<void>
+ #31 grad_- │
+ 1.00 │
+ #28 *. │ #21 *. │
+ 0.00 │ 1.46e-39 │
+ #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 includes pos. inf.
+ inf
+ #13 grad_*._l
+ 1.00
+ #8 +_d │[10]
+ 1.87e+29 │
+ #9 grad_+_d │
+ 1.87e+29 │
+ #4 *._e │[6]│
+ 7.19e-40 │ │
+ #5 grad_*._e│ │
+ 1.87e+29 │ │
+ [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 includes pos. inf.
+ inf
+ #13 grad_*._l
+ 1.00
+ #8 +_d │[10]
+ 1.87e+29 │
+ #9 grad_+_d │
+ 1.87e+29 │
+ #4 *._e │[6]│
+ 7.19e-40 │ │
+ #5 grad_*._e│ │
+ 1.87e+29 │ │
+ [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 includes pos. inf.
+ inf
+ #13 grad_*._l
+ 1.00
+ #8 +_d includes pos. inf. │[10]
+ inf │
+ #9 grad_+_d │
+ 1.68e+29 │
+ #4 *._e includes pos. inf.│[6]│
+ inf │ │
+ #5 grad_*._e │ │
+ 1.68e+29 │ │
+ [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
+ 7.07e-40
+ #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
+ 7.07e-40
+ #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 includes pos. inf.
+ inf
+ #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
+ 5.61
+ #9 grad_+_v
+ 1.00
+ #6 * │[0]
+ 3.70 │
+ #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
+ 1.90
+ #9 grad_+_v Virt/40
+ <void>
+ #6 * Local/1046 │[0]
+ <void> │
+ #7 grad_* Virt/40│
+ <void> │
+ [2]│[4] │
|}]
File "test/operations/hello_world_op.ml", line 1, characters 0-0:
/usr/sbin/git --no-pager diff --no-index --color=always -u _build/default/test/operations/hello_world_op.ml _build/.sandbox/ce95b46f1c730b9ab15c534536975834/default/test/operations/hello_world_op.ml.corrected
diff --git a/_build/default/test/operations/hello_world_op.ml b/_build/.sandbox/ce95b46f1c730b9ab15c534536975834/default/test/operations/hello_world_op.ml.corrected
index 95901f5..2f07983 100644
--- a/_build/default/test/operations/hello_world_op.ml
+++ b/_build/.sandbox/ce95b46f1c730b9ab15c534536975834/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 │ │
+ │├┼──────────┤ │
+ │││ 6.52e-40 │ │
+ │└┴──────────┘ │
└────────────────────┘
|}]
@@ -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 1 │ │
+ │├──────┼─────────┤ │
+ ││axis 0│ 1.04e-4 │ │
+ │└──────┴─────────┘ │
└────────────────────────┘
|}];
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]: [ 0.00 , 0.00 , 0.00 ; 0.00 , 0.00 , 0.00 ]_hey shape 1:3->0:2 [
1.00 , 2.00 , 3.00
; 4.00 , 5.00 , 6.00
]
@@ -116,8 +120,9 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:116:21
┌────────────────────────────────────────────────────────────────────────┐
- │[0]: [ 1.00 , 2.00 , 3.00 ; 4.00 , 5.00 , 6.00 ]_hey shape 1:3->0:2 │
+ │[0]: [ 0.00 , 0.00 , 0.00 ; 0.00 , 0.00 , 0.00 ]_hey shape 1:3->0:2 │
│┌──────┬──────────────────┐ │
││ │axis 1 │ │
│├──────┼──────────────────┤ │
@@ -131,7 +136,8 @@ let%expect_test "Print constant tensor" =
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]: [| [ 0.00 ; 0.00 ; 0.00 ] ; [ 0.00 ; 0.00 ; -0.00 ] |]_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]: [| [ 0.00 ; 0.00 ; 0.00 ] ; [ 0.00 ; 0.00 ; -0.00 ] |]_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│ 1.42e-33 4.50e-41 ││
+ ││ │ 1.04e-4 0.00 ││
+ ││ │ 0.00 0.00 ││
+ │└──────┴────────────────────┘│
+ └─────────────────────────────┘
|}];
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 5.00 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│ 1.42e-33 4.50e-41 ... 0.00 1.06e-4 ││
+ ││ │ 0.00 1.07e-4 ... -1.36e-38 -1.18e+21 ││
+ ││ │ ... ... ... ... ... ││
+ ││ │ -2.28e-26 -1.36e-38 ... -1.36e-38 -1.18e+21 ││
+ ││ │ -2.28e-26 -1.36e-38 ... -6.38e+20 -2.28e-26 ││
+ │└──────┴─────────────────────────────────────────────────┘│
+ └──────────────────────────────────────────────────────────┘
|}];
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 ││
+ │├┼───────────────────────────────────────────────┤│
+ │││ 4.69e+34 -8.30e+22 ... -9.13e+22 1.25e+24 ││
+ │└┴───────────────────────────────────────────────┘│
+ └──────────────────────────────────────────────────┘
|}]
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 │
│┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬──────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│
(cd _build/.sandbox/14eda63426bc71e0846f8aa0e8fe512c/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/14eda63426bc71e0846f8aa0e8fe512c/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/sbin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/einsum_trivia.ml _build/.sandbox/14eda63426bc71e0846f8aa0e8fe512c/default/test/einsum/einsum_trivia.ml.corrected
diff --git a/_build/default/test/einsum/einsum_trivia.ml b/_build/.sandbox/14eda63426bc71e0846f8aa0e8fe512c/default/test/einsum/einsum_trivia.ml.corrected
index b68c137..330f54c 100644
--- a/_build/default/test/einsum/einsum_trivia.ml
+++ b/_build/.sandbox/14eda63426bc71e0846f8aa0e8fe512c/default/test/einsum/einsum_trivia.ml.corrected
@@ -32,6 +32,7 @@ let%expect_test "einsum1 permute axes" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:32:21
┌───────────────────────────────────────────────────────────────────────────┐
│[1]: =>_ho shape 0:4|2:2->1:3 │
│┌──────┬───────────────┬───────────────┬───────────────┬──────────────────┐│
@@ -52,6 +53,7 @@ let%expect_test "einsum1 permute axes" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho2;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:52:21
┌────────────────────────────────────────────────────────────────────────────────────────────┐
│[3]: =>_ho2 shape 0:4,1:7|4:2,5:6->2:5,3:3 │
│┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│
@@ -178,6 +180,7 @@ let%expect_test "einsum1 sum out axes" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:178:21
┌────────────────────────────────────┐
│[1]: =>_ho shape 0:2|1:3 │
│┌──────┬───────────────────────────┐│
@@ -198,6 +201,7 @@ let%expect_test "einsum1 sum out axes" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho2;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:198:21
┌────────────────────────────────────────────────────────────────────────────────────┐
│[3]: =>_ho2 shape 0:4|2:2->1:5 │
│┌──────┬──────────────────┬──────────────────┬──────────────────┬──────────────────┐│
@@ -234,6 +238,7 @@ let%expect_test "einsum outer product" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ c;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:234:21
┌──────────────────────────┐
│[4]: ;=>_c shape 1:2->0:3 │
│┌──────┬────────────┐ │
@@ -252,6 +257,7 @@ let%expect_test "einsum outer product" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ c;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:252:21
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[7]: ;=>_c shape 0:2,1:5|4:3,5:6->2:4,3:7 │
│┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│
@@ -430,6 +436,7 @@ let%expect_test "einsum matrix/inner+outer products" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ a2;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:430:21
┌────────────────────────────────────────────────────────────────┐
│[2]: ;=>_a2 shape 0:2|2:3->1:4 │
│┌──────┬───────────────────────────┬───────────────────────────┐│
@@ -446,6 +453,7 @@ let%expect_test "einsum matrix/inner+outer products" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ c;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:446:21
┌────────────────────────────────────────────────────────────────┐
│[3]: ;=>_c shape 0:2|2:3->1:5 │
│┌──────┬───────────────────────────┬───────────────────────────┐│
@@ -463,6 +471,7 @@ let%expect_test "einsum matrix/inner+outer products" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ d;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:463:21
┌────────────────────────────────────────────────────────────────┐
│[4]: ;=>_d shape 0:2,1:2|3:3->2:5 │
│┌──────┬───────────────────────────┬───────────────────────────┐│
@@ -486,6 +495,7 @@ let%expect_test "einsum matrix/inner+outer products" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ e;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:486:21
┌────────────────────────────────────┐
│[5]: ;=>_e shape 1:3->0:5 │
│┌──────┬───────────────────────────┐│
@@ -502,6 +512,7 @@ let%expect_test "einsum matrix/inner+outer products" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ f;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:502:21
┌────────────────────────────────────┐
│[6]: ;=>_f shape 1:3->0:5 │
│┌──────┬───────────────────────────┐│
@@ -536,6 +547,7 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:536:21
┌─────────────────────────────────────────────────────────────────────────┐
│[1]: =>_ho shape 0:2|2:4->1:3 │
│┌──────┬───────────────────────────┬────────────────────────────────────┐│
@@ -553,6 +565,7 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho2;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:553:21
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[2]: =>_ho2 shape 0:4|2:3->1:2 │
│┌──────┬───────────────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐│
@@ -573,6 +586,7 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho3;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:573:21
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[4]: =>_ho3 shape 0:2,1:5|4:4,5:7->2:6,3:3 │
│┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│
@@ -702,6 +716,7 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho4;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:702:21
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[5]: =>_ho4 shape 0:5|2:7->1:3 │
│┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│
@@ -719,22 +734,13 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey;
[%expect
{|
- ┌─────────────────────────────────────────────────────────────┐
- │[0]: r2x4x3 shape 0:2|2:3->1:4 │
- │┌──────┬────────────────────────┬───────────────────────────┐│
- ││ │0 @ 0 │1 @ 0 ││
- ││ │axis 2 │axis 2 ││
- │├──────┼────────────────────────┼───────────────────────────┤│
- ││axis 1│ 0.00 1.00 2.00 │ 1.20e+1 1.30e+1 1.40e+1 ││
- ││ │ 3.00 4.00 5.00 │ 1.50e+1 1.60e+1 1.70e+1 ││
- ││ │ 6.00 7.00 8.00 │ 1.80e+1 1.90e+1 2.00e+1 ││
- ││ │ 9.00 1.00e+1 1.10e+1 │ 2.10e+1 2.20e+1 2.30e+1 ││
- │└──────┴────────────────────────┴───────────────────────────┘│
- └─────────────────────────────────────────────────────────────┘
+ HERE: test/einsum/einsum_trivia.ml:719:21
+ [0]: r2x4x3 shape 0:2|2:3->1:4 <virtual>
|}];
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho5;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:735:21
┌───────────────────────────────────────┐
│[6]: =>_ho5 shape 0:4 │
│┌┬────────────────────────────────────┐│
@@ -750,6 +756,7 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho6;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:750:21
┌───────────────────────────────────────┐
│[8]: =>_ho6 shape 0:4 │
│┌┬────────────────────────────────────┐│
@@ -766,6 +773,7 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho7;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:766:21
┌─────────────────────────────────────────────┐
│[10]: =>_ho7 shape 0:3,1:2,2:4 │
│┌──────┬────────────────────────────────────┐│
@@ -804,6 +812,7 @@ let%expect_test "einsum broadcast or sum out prefix axes" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ c;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:804:21
┌─────────────────────────────────────────────┐
│[2]: ;=>_c shape 0:3|1:4 │
│┌──────┬────────────────────────────────────┐│
@@ -823,6 +832,7 @@ let%expect_test "einsum broadcast or sum out prefix axes" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ f;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:823:21
┌─────────────────────────────────────────────┐
│[5]: ;=>_f shape 0:3,1:2,2:4 │
│┌──────┬────────────────────────────────────┐│
@@ -860,6 +870,7 @@ let%expect_test "einsum1 fixed dim axis" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:860:21
┌─────────────────────────────────────────────┐
│[1]: =>_ho shape 0:2|1:4 │
│┌──────┬────────────────────────────────────┐│
@@ -875,6 +886,7 @@ let%expect_test "einsum1 fixed dim axis" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho2;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:875:21
┌────────────────────────────────────────────────────────────────┐
│[2]: =>_ho2 shape 0:2|2:3->1:1 │
│┌──────┬───────────────────────────┬───────────────────────────┐│
@@ -891,6 +903,7 @@ let%expect_test "einsum1 fixed dim axis" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho3;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:891:21
┌──────────────────────┐
│[4]: =>_ho3 shape 0:1 │
│┌┬─────────┐ │
@@ -905,6 +918,7 @@ let%expect_test "einsum1 fixed dim axis" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ho4;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:905:21
┌──────────────────────────────┐
│[5]: =>_ho4 shape 0:2,1:1,2:3 │
│┌──────┬──────────────────┐ │
@@ -940,6 +954,7 @@ let%expect_test "einsum with fixed dim axes" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ c;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:940:21
┌─────────────────────────────────────────────┐
│[2]: ;=>_c shape 0:3|1:4 │
│┌──────┬────────────────────────────────────┐│
@@ -980,175 +995,178 @@ let%expect_test "outer_sum simulating axis concatenation" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ positions;
[%expect
{|
- ┌────────────────────────────────┐
- │[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 │ │
- │└──────┴──────────────────┘ │
- └────────────────────────────────┘
+ HERE: test/einsum/einsum_trivia.ml:980:21
+ ┌──────────────────────────────────────┐
+ │[9]: ;=>+ shape 0:4,1:5,2:6,3:3 │
+ │┌──────┬─────────────────────────────┐│
+ ││0 @ 0 │axis 3 ││
+ │├──────┼─────────────────────────────┤│
+ ││0 @ 1 │ 4.09e-36 0.00 0.00 ││
+ ││axis 2│ 4.09e-36 2.89e+32 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ 6.88e-6 4.20e-41 4.00 ││
+ ││ │ 4.09e-36 1.12e-43 5.00 ││
+ │├──────┼─────────────────────────────┤│
+ ││1 @ 1 │ 2.68e-41 1.00 0.00 ││
+ ││axis 2│ 0.00 2.89e+32 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ 6.88e-6 1.00 4.00 ││
+ ││ │ 4.20e-41 1.00 5.00 ││
+ │├──────┼─────────────────────────────┤│
+ ││2 @ 1 │ 2.68e-41 2.00 0.00 ││
+ ││axis 2│ 0.00 2.89e+32 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ 6.88e-6 2.00 4.00 ││
+ ││ │ 4.20e-41 2.00 5.00 ││
+ │├──────┼─────────────────────────────┤│
+ ││3 @ 1 │ 2.68e-41 3.00 0.00 ││
+ ││axis 2│ 0.00 2.89e+32 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ 6.88e-6 3.00 4.00 ││
+ ││ │ 4.20e-41 3.00 5.00 ││
+ │├──────┼─────────────────────────────┤│
+ ││4 @ 1 │ 3.27e+5 4.00 2.80e-33 ││
+ ││axis 2│ 3.27e+5 2.89e+32 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ 3.27e+5 4.00 4.00 ││
+ ││ │ 3.27e+5 4.00 5.00 ││
+ │└──────┴─────────────────────────────┘│
+ ├──────────────────────────────────────┤
+ │┌──────┬─────────────────────────────┐│
+ ││1 @ 0 │axis 3 ││
+ │├──────┼─────────────────────────────┤│
+ ││0 @ 1 │ 1.00 2.89e+32 2.36e+21 ││
+ ││axis 2│ 1.00 5.78e+32 2.36e+21 ││
+ ││ │ ... ... ... ││
+ ││ │ 1.00 2.89e+32 2.36e+21 ││
+ ││ │ 1.00 2.89e+32 2.36e+21 ││
+ │├──────┼─────────────────────────────┤│
+ ││1 @ 1 │ 1.00 2.89e+32 2.36e+21 ││
+ ││axis 2│ 1.00 5.78e+32 2.36e+21 ││
+ ││ │ ... ... ... ││
+ ││ │ 1.00 2.89e+32 2.36e+21 ││
+ ││ │ 1.00 2.89e+32 2.36e+21 ││
+ │├──────┼─────────────────────────────┤│
+ ││2 @ 1 │ 1.00 2.89e+32 2.36e+21 ││
+ ││axis 2│ 1.00 5.78e+32 2.36e+21 ││
+ ││ │ ... ... ... ││
+ ││ │ 1.00 2.89e+32 2.36e+21 ││
+ ││ │ 1.00 2.89e+32 2.36e+21 ││
+ │├──────┼─────────────────────────────┤│
+ ││3 @ 1 │ 1.00 2.89e+32 2.36e+21 ││
+ ││axis 2│ 1.00 5.78e+32 2.36e+21 ││
+ ││ │ ... ... ... ││
+ ││ │ 1.00 2.89e+32 2.36e+21 ││
+ ││ │ 1.00 2.89e+32 2.36e+21│
+ │├──────┼─────────────────────────────┤│
+ ││4 @ 1 │ 3.27e+5 2.89e+32 2.36e+21 ││
+ ││axis 2│ 3.27e+5 5.78e+32 2.36e+21 ││
+ ││ │ ... ... ... ││
+ ││ │ 3.27e+5 2.89e+32 2.36e+21 ││
+ ││ │ 3.27e+5 2.89e+32 2.36e+21 ││
+ │└──────┴─────────────────────────────┘│
+ ├──────────────────────────────────────┤
+ │┌──────┬─────────────────────────────┐│
+ ││2 @ 0 │axis 3 ││
+ │├──────┼─────────────────────────────┤│
+ ││0 @ 1 │ 2.00 6.71e-7 1.29e+19 ││
+ ││axis 2│ 2.00 2.89e+32 1.29e+19 ││
+ ││ │ ... ... ... ││
+ ││ │ 2.00 6.71e-7 1.29e+19 ││
+ ││ │ 2.00 6.71e-7 1.29e+19 ││
+ │├──────┼─────────────────────────────┤│
+ ││1 @ 1 │ 2.00 1.00 1.29e+19 ││
+ ││axis 2│ 2.00 2.89e+32 1.29e+19 ││
+ ││ │ ... ... ... ││
+ ││ │ 2.00 1.00 1.29e+19 ││
+ ││ │ 2.00 1.00 1.29e+19 ││
+ │├──────┼─────────────────────────────┤│
+ ││2 @ 1 │ 2.00 2.00 1.29e+19 ││
+ ││axis 2│ 2.00 2.89e+32 1.29e+19 ││
+ ││ │ ... ... ... ││
+ ││ │ 2.00 2.00 1.29e+19 ││
+ ││ │ 2.00 2.00 1.29e+19 ││
+ │├──────┼─────────────────────────────┤│
+ ││3 @ 1 │ 2.00 3.00 1.29e+19 ││
+ ││axis 2│ 2.00 2.89e+32 1.29e+19 ││
+ ││ │ ... ... ... ││
+ ││ │ 2.00 3.00 1.29e+19 ││
+ ││ │ 2.00 3.00 1.29e+19 ││
+ │├──────┼─────────────────────────────┤│
+ ││4 @ 1 │ 3.27e+5 4.00 1.29e+19 ││
+ ││axis 2│ 3.27e+5 2.89e+32 1.29e+19 ││
+ ││ │ ... ... ... ││
+ ││ │ 3.27e+5 4.00 1.29e+19 ││
+ ││ │ 3.27e+5 4.00 1.29e+19 ││
+ │└──────┴─────────────────────────────┘│
+ ├──────────────────────────────────────┤
+ │┌──────┬─────────────────────────────┐│
+ ││3 @ 0 │axis 3 ││
+ │├──────┼─────────────────────────────┤│
+ ││0 @ 1 │ 3.00 1.30e-8 7.52e+28 ││
+ ││axis 2│ 3.00 2.89e+32 7.52e+28 ││
+ ││ │ ... ... ... ││
+ ││ │ 3.00 1.30e-8 7.52e+28 ││
+ ││ │ 3.00 1.30e-8 7.52e+28 ││
+ │├──────┼─────────────────────────────┤│
+ ││1 @ 1 │ 3.00 1.00 7.52e+28 ││
+ ││axis 2│ 3.00 2.89e+32 7.52e+28 ││
+ ││ │ ... ... ... ││
+ ││ │ 3.00 1.00 7.52e+28 ││
+ ││ │ 3.00 1.00 7.52e+28 ││
+ │├──────┼─────────────────────────────┤│
+ ││2 @ 1 │ 3.00 2.00 7.52e+28 ││
+ ││axis 2│ 3.00 2.89e+32 7.52e+28 ││
+ ││ │ ... ... ... ││
+ ││ │ 3.00 2.00 7.52e+28 ││
+ ││ │ 3.00 2.00 7.52e+28 ││
+ │├──────┼─────────────────────────────┤│
+ ││3 @ 1 │ 3.00 3.00 7.52e+28 ││
+ ││axis 2│ 3.00 2.89e+32 7.52e+28 ││
+ ││ │ ... ... ... ││
+ ││ │ 3.00 3.00 7.52e+28 ││
+ ││ │ 3.00 3.00 7.52e+28 ││
+ │├──────┼─────────────────────────────┤│
+ ││4 @ 1 │ 3.27e+5 4.00 7.52e+28 ││
+ ││axis 2│ 3.27e+5 2.89e+32 7.52e+28 ││
+ ││ │ ... ... ... ││
+ ││ │ 3.27e+5 4.00 7.52e+28 ││
+ ││ │ 3.27e+5 4.00 7.52e+28 ││
+ │└──────┴─────────────────────────────┘│
+ └──────────────────────────────────────┘
|}];
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ti;
[%expect
{|
- ┌───────────────────────────┐
- │[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 ││
- │└──────┴──────────────────┘│
- └───────────────────────────┘
+ HERE: test/einsum/einsum_trivia.ml:1122:21
+ ┌───────────────────────────────────┐
+ │[1]: =>_ti shape 0:4,1:3 │
+ │┌──────┬──────────────────────────┐│
+ ││ │axis 1 ││
+ │├──────┼──────────────────────────┤│
+ ││axis 0│ 0.00 0.00 0.00 ││
+ ││ │ 1.00 2.89e+32 2.36e+21 ││
+ ││ │ 2.00 6.71e-7 1.29e+19 ││
+ ││ │ 3.00 1.30e-8 7.52e+28 ││
+ │└──────┴──────────────────────────┘│
+ └───────────────────────────────────┘
|}];
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ tk;
[%expect
{|
- ┌───────────────────────────┐
- │[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 ││
- │└──────┴──────────────────┘│
- └───────────────────────────┘
+ HERE: test/einsum/einsum_trivia.ml:1137:21
+ ┌───────────────────────────────────┐
+ │[7]: =>_tk shape 0:6,1:3 │
+ │┌──────┬──────────────────────────┐│
+ ││ │axis 1 ││
+ │├──────┼──────────────────────────┤│
+ ││axis 0│ 2.68e-41 0.00 0.00 ││
+ ││ │ 0.00 2.89e+32 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ 6.88e-6 4.20e-41 4.00 ││
+ ││ │ 4.20e-41 1.12e-43 5.00 ││
+ │└──────┴──────────────────────────┘│
+ └───────────────────────────────────┘
|}]
let%expect_test "einsum with a leftmost input axis preserved as output axis" =
@@ -1175,6 +1193,7 @@ let%expect_test "einsum with a leftmost input axis preserved as output axis" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ c;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:1175:21
┌─────────────────────────────────────────────────────────────────┐
│[2]: ;=>_c shape 0:3|1:4,2:2 │
│┌──────┬──────────────────┬──────────────────┬──────────────────┐│
@@ -1209,6 +1228,7 @@ let%expect_test "einsum permuting two leftmost input axes as output axes" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ c;
[%expect
{|
+ HERE: test/einsum/einsum_trivia.ml:1209:21
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[2]: ;=>_c shape 2:4->0:3,1:2 │
│┌──────┬────────────────────────────────────┬────────────────────────────────────┬────────────────────────────────────┐│
File "test/training/moons_demo.expected", line 1, characters 0-0:
/usr/sbin/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..7fe26c7 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:
+┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
+│ 1.11e+63│ - │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ - │
+│ │ │
+│ │ │
+│ │ │
+│ │ - │
+│ │ │
+│ │ │
+│ │ - │
+│ │ │
+│ │ - │
+│ │ │
+│ │ │
+│ │ - │
+│l │ - │
+│o │ │
+│s │ │
+│s │ - │
+│ │ - │
+│ │ │
+│ │ - │
+│ │ - │
+│ │ │
+│ │ - │
+│ │ - │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ - │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ 0.00 │----------------------------------------------------------------------------------------------------│
+├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
+│ │0.00 3.99e+2│
+│ │ step │
+└─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘Log-loss, for better visibility:
+┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
+│ 1.45e+2 │ - │
+│ │ - - - - - - - - - - - - - - │
+│ │ - - - - - - - - │
+│ │ - - - │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│l │ │
+│o │ │
+│g │ │
+│ │ │
+│l │ │
+│o │ │
+│s │ │
+│s │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ -1.00e+1│----------------------------------------------------------------------------------------------------│
+├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
+│ │0.00 3.99e+2│
+│ │ step │
+└─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
+Learning rate:
+┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
+│ -1.00e-1│ -│
+│ │ ---│
+│ │ ---- │
+│ │ --- │
+│ │ ---- │
+│ │ --- │
+│ │ --- │
+│ │ --- │
+│ │ --- │
+│ │ ---- │
+│ │ --- │
+│ │ ---- │
+│ │ --- │
+│l │ ---- │
+│e │ --- │
+│a │ --- │
+│r │ --- │
+│n │ --- │
+│i │ ---- │
+│n │ --- │
+│g │ ---- │
+│ │ --- │
+│r │ ---- │
+│a │ --- │
+│t │ --- │
+│e │ --- │
+│ │ --- │
+│ │ ---- │
+│ │ --- │
+│ │ ---- │
+│ │ --- │
+│ │ ---- │
+│ │ --- │
+│ │ --- │
+│ │ --- │
+│ │ --- │
+│ │ ---- │
+│ │ --- │
+│ │ ---- │
+│ -2.00e-1│--- │
+├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
+│ │0.00 3.99e+2│
+│ │ step │
+└─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘mlp_result's name: mlp_point
+(mlp moons_input) name: mlp_moons_input
File "test/training/moons_demo_parallel.expected", line 1, characters 0-0:
/usr/sbin/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..f5db190 100644
--- a/_build/default/test/training/moons_demo_parallel.expected
+++ b/_build/default/test/training/moons_demo_parallel.exe.output
@@ -1 +1,5 @@
+
+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
Success
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2025-07-14 11:16.41: Job failed: Failed: Build failed