2025-07-15 12:46.59: New job: test ahrefs/ocannl https://github.com/ahrefs/ocannl.git#refs/heads/master (1289c66aa5721ab6e2f405daf95e05df046c84ff) (linux-arm64:debian-12-5.3_arm64_opam-2.3)
Base: ocaml/opam:debian-12-ocaml-5.3@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/ahrefs/ocannl.git" -b "master" && cd "ocannl" && git reset --hard 1289c66a
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-12-ocaml-5.3@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571
# debian-12-5.3_arm64_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam
RUN opam init --reinit -ni
RUN uname -rs && opam exec -- ocaml -version && opam --version
WORKDIR /src
RUN sudo chown opam /src
RUN cd ~/opam-repository && (git cat-file -e 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 || git fetch origin master) && git reset -q --hard 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 neural_nets_lib.opam arrayjit.opam ./
RUN opam pin add -yn neural_nets_lib.dev './' && \
opam pin add -yn arrayjit.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 camlzip.1.13 cmdliner.1.3.0 conf-libcurl.2 conf-libffi.2.0.0 conf-pkg-config.4 conf-zlib.1 cppo.1.8.0 csexp.1.5.2 csv.2.4 ctypes.0.23.0 ctypes-foreign.0.23.0 curl.0.10.0 dune.3.19.1 dune-configurator.3.19.1 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.1.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.1 ppx_minidebug.2.3.0 ppx_optcomp.v0.17.1 ppx_sexp_conv.v0.17.1 ppx_string.v0.17.0 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.13.2 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS
RUN opam install $DEPS
COPY --chown=1000:1000 . /src
RUN opam exec -- dune build @install @check @runtest && rm -rf _build
END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK
2025-07-15 12:46.59: Using cache hint "ahrefs/ocannl-ocaml/opam:debian-12-ocaml-5.3@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571-debian-12-5.3_arm64_opam-2.3-ee06dfbb3e21290708c2c8a6224283e3"
2025-07-15 12:46.59: Using OBuilder spec:
((from ocaml/opam:debian-12-ocaml-5.3@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571)
(comment debian-12-5.3_arm64_opam-2.3)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
(run (shell "opam init --reinit -ni"))
(run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
(workdir /src)
(run (shell "sudo chown opam /src"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 || git fetch origin master) && git reset -q --hard 64169c3d1d6774ef4ce0fcc471269bb09cd215f5 && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))
(run (network host)
(shell "opam pin add -yn neural_nets_lib.dev './' && \
\nopam pin add -yn arrayjit.dev './'"))
(run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
(env DEPS "angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 camlzip.1.13 cmdliner.1.3.0 conf-libcurl.2 conf-libffi.2.0.0 conf-pkg-config.4 conf-zlib.1 cppo.1.8.0 csexp.1.5.2 csv.2.4 ctypes.0.23.0 ctypes-foreign.0.23.0 curl.0.10.0 dune.3.19.1 dune-configurator.3.19.1 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.1.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.1 ppx_minidebug.2.3.0 ppx_optcomp.v0.17.1 ppx_sexp_conv.v0.17.1 ppx_string.v0.17.0 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.13.2 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0")
(env CI true)
(env OCAMLCI true)
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
(copy (src .) (dst /src))
(run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
)
2025-07-15 12:46.59: Waiting for resource in pool OCluster
2025-07-15 12:46.59: Waiting for worker…
2025-07-15 12:46.59: Got resource from pool OCluster
Building on molpadia.caelum.ci.dev
HEAD is now at 75b5fb75 Control listings in print_accessible_headers
HEAD is now at 1289c66a Remove runtime changing of debug settings from tests and examples (except test/operations/micrograd_demo_logging.ml) including commented-out They lead to confusion with user configurations.
(from ocaml/opam:debian-12-ocaml-5.3@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571)
Unable to find image 'ocaml/opam:debian-12-ocaml-5.3@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571' locally
docker.io/ocaml/opam@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571: Pulling from ocaml/opam
66ed44a1abd1: Pulling fs layer
66ed44a1abd1: Verifying Checksum
66ed44a1abd1: Download complete
66ed44a1abd1: Pull complete
Digest: sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571
Status: Downloaded newer image for ocaml/opam@sha256:7b29589733a308244596214dae557b49af056bee2c2b7d38366b2f9f142cf571
2025-07-15 12:47.00 ---> using "f6ae7351875684a25350189421e3f184121b5b67f827c237226a23991bd7124b" from cache
/: (comment debian-12-5.3_arm64_opam-2.3)
/: (user (uid 1000) (gid 1000))
/: (env CLICOLOR_FORCE 1)
/: (env OPAMCOLOR always)
/: (workdir /src)
/src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2025-07-15 12:47.00 ---> using "2ddd24b792e69c58b0b2cc7bf7d8dcd13cf9bc62381bf170e1ca7968b6c11aff" 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-15 12:47.00 ---> using "f35d67e56ae10ef80f10d2429aaeb5ea1e42614f6f3d0967ae70966aea2342df" from cache
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-134-generic
The OCaml toplevel, version 5.3.0
2.3.0
2025-07-15 12:47.00 ---> using "d352b6f5b0d4cda2f7b4d7d31d3055184072213bfeca60ff0589f33e67b8c5ef" from cache
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2025-07-15 12:47.00 ---> using "fa5c0855117c025048b5b3f5babef35cb5477e180d9337ec1177bf9039018873" 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..64169c3d1d 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-15 12:47.00 ---> using "98a9b755f33911a5bd96b50f85fce6a513146a5e71b790c7be2b83afa41e5553" from cache
/src: (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))
2025-07-15 12:47.00 ---> using "9636275c4818d73231b0a2e5c3bc1bfd46870876b39d9fc0b1d39f4e5a2fcfa8" 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-15 12:47.00 ---> using "7f1cb9925e7dfe614bfdc7ee73c76cc095d9c7ce2f7dc4eb8823f2b7deadca21" from cache
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-07-15 12:47.00 ---> using "3c008e2f3a590f62440a216bc127aa442bcf111fc0aed621eb4b7580175ef3ea" from cache
/src: (env DEPS "angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.3 base-bigarray.base base-bytes.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 camlzip.1.13 cmdliner.1.3.0 conf-libcurl.2 conf-libffi.2.0.0 conf-pkg-config.4 conf-zlib.1 cppo.1.8.0 csexp.1.5.2 csv.2.4 ctypes.0.23.0 ctypes-foreign.0.23.0 curl.0.10.0 dune.3.19.1 dune-configurator.3.19.1 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.9.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.6 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.1 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.1.0 ppx_enumerate.v0.17.0 ppx_expect.v0.17.3 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.2 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.1 ppx_minidebug.2.3.0 ppx_optcomp.v0.17.1 ppx_sexp_conv.v0.17.1 ppx_string.v0.17.0 ppx_variants_conv.v0.17.1 ppxlib.0.36.0 ppxlib_jane.v0.17.4 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.13.2 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0")
/src: (env CI true)
/src: (env OCAMLCI true)
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian bookworm InRelease
- Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
- Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
- Get:4 http://deb.debian.org/debian-security bookworm-security/main arm64 Packages [268 kB]
- Fetched 371 kB in 0s (845 kB/s)
- Reading package lists...
-
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[neural_nets_lib.dev] synchronised (file:///src)
[arrayjit.dev] synchronised (file:///src)
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.0).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following system packages will first need to be installed:
libcurl4-gnutls-dev libffi-dev pkg-config zlib1g-dev
<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libcurl4-gnutls-dev" "libffi-dev" "pkg-config" "zlib1g-dev"
- debconf: delaying package configuration, since apt-utils is not installed
- Selecting previously unselected package libcurl4-gnutls-dev:arm64.
- (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 18801 files and directories currently installed.)
- Preparing to unpack .../0-libcurl4-gnutls-dev_7.88.1-10+deb12u12_arm64.deb ...
- Unpacking libcurl4-gnutls-dev:arm64 (7.88.1-10+deb12u12) ...
- Selecting previously unselected package libffi-dev:arm64.
- Preparing to unpack .../1-libffi-dev_3.4.4-1_arm64.deb ...
- Unpacking libffi-dev:arm64 (3.4.4-1) ...
- Selecting previously unselected package libpkgconf3:arm64.
- Preparing to unpack .../2-libpkgconf3_1.8.1-1_arm64.deb ...
- Unpacking libpkgconf3:arm64 (1.8.1-1) ...
- Selecting previously unselected package pkgconf-bin.
- Preparing to unpack .../3-pkgconf-bin_1.8.1-1_arm64.deb ...
- Unpacking pkgconf-bin (1.8.1-1) ...
- Selecting previously unselected package pkgconf:arm64.
- Preparing to unpack .../4-pkgconf_1.8.1-1_arm64.deb ...
- Unpacking pkgconf:arm64 (1.8.1-1) ...
- Selecting previously unselected package pkg-config:arm64.
- Preparing to unpack .../5-pkg-config_1.8.1-1_arm64.deb ...
- Unpacking pkg-config:arm64 (1.8.1-1) ...
- Selecting previously unselected package zlib1g-dev:arm64.
- Preparing to unpack .../6-zlib1g-dev_1%3a1.2.13.dfsg-1_arm64.deb ...
- Unpacking zlib1g-dev:arm64 (1:1.2.13.dfsg-1) ...
- Setting up libcurl4-gnutls-dev:arm64 (7.88.1-10+deb12u12) ...
- Setting up libffi-dev:arm64 (3.4.4-1) ...
- Setting up libpkgconf3:arm64 (1.8.1-1) ...
- Setting up pkgconf-bin (1.8.1-1) ...
- Setting up zlib1g-dev:arm64 (1:1.2.13.dfsg-1) ...
- Setting up pkgconf:arm64 (1.8.1-1) ...
- Setting up pkg-config:arm64 (1.8.1-1) ...
- Processing triggers for libc-bin (2.36-9+deb12u10) ...
2025-07-15 12:47.00 ---> using "24129a54de0ea3a1b9c5aafa8f0702cd7610029d02fcb598e755fc2e510ed0b3" from cache
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.0).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following actions will be performed:
=== install 81 packages
- install angstrom 0.16.1
- install astring 0.8.5
- install backoff 0.1.1
- install base v0.17.3
- install base-bytes base
- install bigarray-compat 1.1.0
- install bigstringaf 0.10.0
- install camlp-streams 5.0.1
- install camlzip 1.13
- install cmdliner 1.3.0
- install conf-libcurl 2
- install conf-libffi 2.0.0
- install conf-pkg-config 4
- install conf-zlib 1
- install cppo 1.8.0
- install csexp 1.5.2
- install csv 2.4
- install ctypes 0.23.0
- install ctypes-foreign 0.23.0
- install curl 0.10.0
- install dune 3.19.1
- install dune-configurator 3.19.1
- install fieldslib v0.17.0
- install fmt 0.10.0
- install integers 0.7.0
- install jane-street-headers v0.17.0
- install jst-config v0.17.0
- install logs 0.9.0
- install mdx 2.5.0
- install mtime 2.1.0
- install multicore-magic 2.3.1
- install num 1.6
- install ocaml-compiler-libs v0.17.0
- install ocaml-syntax-shims 1.0.0
- install ocaml-version 4.0.1
- install ocaml_intrinsics_kernel v0.17.1
- install ocamlbuild 0.16.1
- install ocamlfind 1.9.8
- install parsexp v0.17.0
- install pprint 20230830
- install ppx_assert v0.17.0
- install ppx_base v0.17.0
- install ppx_cold v0.17.0
- install ppx_compare v0.17.0
- install ppx_derivers 1.2.1
- install ppx_deriving 6.1.0
- install ppx_enumerate v0.17.0
- install ppx_expect v0.17.3
- install ppx_fields_conv v0.17.0
- install ppx_globalize v0.17.2
- install ppx_hash v0.17.0
- install ppx_here v0.17.0
- install ppx_inline_test v0.17.1
- install ppx_minidebug 2.3.0
- install ppx_optcomp v0.17.1
- install ppx_sexp_conv v0.17.1
- install ppx_string v0.17.0
- install ppx_variants_conv v0.17.1
- install ppxlib 0.36.0
- install ppxlib_jane v0.17.4
- install printbox 0.12
- install printbox-ext-plot 0.12
- install printbox-html 0.12
- install printbox-md 0.12
- install printbox-text 0.12
- install ptime 1.2.0
- install re 1.13.2
- install result 1.5
- install saturn_lockfree 0.5.0
- install seq base
- install sexplib v0.17.0
- install sexplib0 v0.17.0
- install stdio v0.17.0
- install stdlib-shims 0.3.0
- install thread-local-storage 0.2
- install time_now v0.17.0
- install topkg 1.0.8
- install tyxml 4.6.0
- install uucp 16.0.0
- install uutf 1.0.4
- install variantslib v0.17.0
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved backoff.0.1.1 (cached)
-> retrieved angstrom.0.16.1 (cached)
-> retrieved astring.0.8.5 (cached)
-> retrieved bigarray-compat.1.1.0 (cached)
-> retrieved base.v0.17.3 (cached)
-> retrieved bigstringaf.0.10.0 (cached)
-> retrieved camlp-streams.5.0.1 (cached)
-> retrieved camlzip.1.13 (cached)
-> retrieved cmdliner.1.3.0 (cached)
-> retrieved cppo.1.8.0 (cached)
-> installed conf-libcurl.2
-> installed conf-pkg-config.4
-> retrieved csexp.1.5.2 (cached)
-> retrieved csv.2.4 (cached)
-> retrieved ctypes.0.23.0, ctypes-foreign.0.23.0 (cached)
-> installed conf-libffi.2.0.0
-> installed conf-zlib.1
-> retrieved curl.0.10.0 (cached)
-> retrieved fieldslib.v0.17.0 (cached)
-> retrieved integers.0.7.0 (cached)
-> retrieved fmt.0.10.0 (cached)
-> retrieved jane-street-headers.v0.17.0 (cached)
-> retrieved jst-config.v0.17.0 (cached)
-> retrieved logs.0.9.0 (cached)
-> retrieved mtime.2.1.0 (cached)
-> retrieved multicore-magic.2.3.1 (cached)
-> retrieved mdx.2.5.0 (cached)
-> retrieved num.1.6 (cached)
-> retrieved ocaml-compiler-libs.v0.17.0 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1 (cached)
-> retrieved ocaml-version.4.0.1 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved dune.3.19.1, dune-configurator.3.19.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved parsexp.v0.17.0 (cached)
-> retrieved pprint.20230830 (cached)
-> retrieved ppx_assert.v0.17.0 (cached)
-> retrieved ppx_base.v0.17.0 (cached)
-> retrieved ppx_cold.v0.17.0 (cached)
-> retrieved 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)
-> installed cmdliner.1.3.0
-> installed num.1.6
-> 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_string.v0.17.0 (cached)
-> retrieved ppx_sexp_conv.v0.17.1 (cached)
-> retrieved ppx_variants_conv.v0.17.1 (cached)
-> retrieved ppx_minidebug.2.3.0 (cached)
-> retrieved ppxlib.0.36.0 (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 seq.base (cached)
-> installed seq.base
-> retrieved saturn_lockfree.0.5.0 (cached)
-> retrieved sexplib.v0.17.0 (cached)
-> retrieved sexplib0.v0.17.0 (cached)
-> retrieved printbox.0.12, printbox-ext-plot.0.12, printbox-html.0.12, printbox-md.0.12, printbox-text.0.12 (cached)
-> retrieved stdio.v0.17.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved thread-local-storage.0.2 (cached)
-> retrieved time_now.v0.17.0 (cached)
-> retrieved topkg.1.0.8 (cached)
-> retrieved tyxml.4.6.0 (cached)
-> retrieved uutf.1.0.4 (cached)
-> retrieved variantslib.v0.17.0 (cached)
-> retrieved uucp.16.0.0 (cached)
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed camlzip.1.13
-> installed ocamlbuild.0.16.1
-> installed topkg.1.0.8
-> installed uutf.1.0.4
-> installed mtime.2.1.0
-> installed fmt.0.10.0
-> installed ptime.1.2.0
-> installed astring.0.8.5
-> installed logs.0.9.0
-> installed dune.3.19.1
-> installed jane-street-headers.v0.17.0
-> installed ppx_derivers.1.2.1
-> installed csexp.1.5.2
-> installed backoff.0.1.1
-> installed bigarray-compat.1.1.0
-> installed camlp-streams.5.0.1
-> installed csv.2.4
-> installed multicore-magic.2.3.1
-> installed ocaml-syntax-shims.1.0.0
-> installed cppo.1.8.0
-> installed ocaml-version.4.0.1
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed pprint.20230830
-> installed ocaml-compiler-libs.v0.17.0
-> installed printbox.0.12
-> installed re.1.13.2
-> installed result.1.5
-> installed sexplib0.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed thread-local-storage.0.2
-> installed saturn_lockfree.0.5.0
-> installed integers.0.7.0
-> installed parsexp.v0.17.0
-> installed dune-configurator.3.19.1
-> installed bigstringaf.0.10.0
-> installed mdx.2.5.0
-> installed sexplib.v0.17.0
-> installed angstrom.0.16.1
-> installed tyxml.4.6.0
-> installed curl.0.10.0
-> installed printbox-html.0.12
-> installed ctypes.0.23.0
-> installed base.v0.17.3
-> installed fieldslib.v0.17.0
-> installed variantslib.v0.17.0
-> installed stdio.v0.17.0
-> installed ctypes-foreign.0.23.0
-> installed ppxlib.0.36.0
-> installed ppxlib_jane.v0.17.4
-> installed ppx_optcomp.v0.17.1
-> 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 uucp.16.0.0
-> installed printbox-text.0.12
-> installed ppx_enumerate.v0.17.0
-> installed ppx_deriving.6.1.0
-> installed ppx_globalize.v0.17.2
-> installed printbox-md.0.12
-> installed ppx_compare.v0.17.0
-> installed printbox-ext-plot.0.12
-> installed ppx_sexp_conv.v0.17.1
-> installed ppx_hash.v0.17.0
-> installed ppx_assert.v0.17.0
-> installed ppx_minidebug.2.3.0
-> installed ppx_base.v0.17.0
-> installed jst-config.v0.17.0
-> installed ppx_string.v0.17.0
-> installed time_now.v0.17.0
-> installed ppx_inline_test.v0.17.1
-> installed ppx_expect.v0.17.3
Done.
# To update the current shell environment, run: eval $(opam env)
2025-07-15 12:47.00 ---> using "93231e3a48874db52615e5fcdc672796a7d901907f216f633962e809c0bcb304" from cache
/src: (copy (src .) (dst /src))
2025-07-15 12:47.00 ---> saved as "678d0b2e2f889010e586807c17ac18a1ed9132ba2cf4db6cbfdf7750ae92f834"
/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/bin/git --no-pager diff --no-index --color=always -u _build/default/test/ppx/test_ppx_op_expected.ml _build/default/test/ppx/test_ppx_op_actual.ml
diff --git a/_build/default/test/ppx/test_ppx_op_expected.ml b/_build/default/test/ppx/test_ppx_op_actual.ml
index a6aa4ae..c971ef0 100644
--- a/_build/default/test/ppx/test_ppx_op_expected.ml
+++ b/_build/default/test/ppx/test_ppx_op_actual.ml
@@ -2,20 +2,20 @@ open Base
open Ocannl
module TDSL = Operation.TDSL
let y0 =
- let hey1 = TDSL.param ?values:None "hey1" in
+ let hey1 = TDSL.param ?value:None "hey1" in
let open! TDSL.O in
((+) ?label:(Some ["y0"]))
((( *. ) ?label:None) (TDSL.number (Float.of_int 2)) hey1)
(TDSL.number (Float.of_int 3))
let y1 =
- let hey2 = TDSL.param ?values:None "hey2" in
+ let hey2 = TDSL.param ?value:None "hey2" in
let open! TDSL.O in
fun x ->
((+) ?label:(Some
(List.concat [["y1"]; (x.Tensor.value).Ir.Tnode.label])))
((( * ) ?label:None) hey2 (TDSL.number (Float.of_int 2))) x
let y2 =
- let hey3 = TDSL.param ?values:None "hey3" in
+ let hey3 = TDSL.param ?value:None "hey3" in
let open! TDSL.O in
fun x1 x2 ->
((+) ?label:(Some
@@ -36,14 +36,14 @@ let b =
~output_dims:[2]
[|(Float.of_int 7);(Float.of_int 8);(Float.of_int 9);(Float.of_int 10)|]
let y =
- let hey4 = TDSL.param ?values:None "hey4" in
+ let hey4 = TDSL.param ?value:None "hey4" in
let open! TDSL.O in
((+) ?label:(Some ["y"]))
((( * ) ?label:None) hey4 (TDSL.number ?label:None ~axis_label:"q" 2.0))
(TDSL.number ?label:None ~axis_label:"p" 1.0)
let z =
- let hey5 = TDSL.param ?values:None "hey5"
- and hey6 = TDSL.param ?values:None "hey6" in
+ let hey5 = TDSL.param ?value:None "hey5"
+ and hey6 = TDSL.param ?value:None "hey6" in
let open! TDSL.O in
((+) ?label:(Some ["z"]))
((( * ) ?label:None) (TDSL.number ?label:None ~axis_label:"q" 2.0) hey5)
@@ -51,8 +51,8 @@ let z =
let stride = 2
and dilation = 3
let z2 =
- let hey7 = TDSL.param ?values:None "hey7"
- and hey8 = TDSL.param ?values:None "hey8" in
+ let hey7 = TDSL.param ?value:None "hey7"
+ and hey8 = TDSL.param ?value:None "hey8" in
let open! TDSL.O in
TDSL.einsum ?label:(Some ["z2"])
(String.concat ~sep:""
@@ -61,8 +61,8 @@ let z2 =
let z3 =
let s = 2
and d = 3 in
- let hey10 = TDSL.param ?values:None "hey10"
- and hey9 = TDSL.param ?values:None "hey9" in
+ let hey10 = TDSL.param ?value:None "hey10"
+ and hey9 = TDSL.param ?value:None "hey9" in
let open! TDSL.O in
TDSL.einsum ?label:(Some [])
(String.concat ~sep:""
@@ -78,7 +78,7 @@ let mlp_layer =
let b =
(TDSL.param ~more_label:(config.label)) ~output_dims:[config.hid_dim]
"b"
- and w = (TDSL.param ~more_label:(config.label)) ?values:None "w" in
+ and w = (TDSL.param ~more_label:(config.label)) ?value:None "w" in
fun x ->
(relu
?label:(Some
File "test/einsum/test_print_style.expected", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/test_print_style.expected _build/default/test/einsum/test_print_style.exe.output
diff --git a/_build/default/test/einsum/test_print_style.expected b/_build/default/test/einsum/test_print_style.exe.output
index 5151f60..80ff444 100644
--- a/_build/default/test/einsum/test_print_style.expected
+++ b/_build/default/test/einsum/test_print_style.exe.output
@@ -1,5 +1,5 @@
-Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/einsum/ocannl_config.
+Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
Testing print_style functionality:
File "test/einsum/test_conv_syntax.expected", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/test_conv_syntax.expected _build/default/test/einsum/test_conv_syntax.exe.output
diff --git a/_build/default/test/einsum/test_conv_syntax.expected b/_build/default/test/einsum/test_conv_syntax.exe.output
index 7098c49..02f1b08 100644
--- a/_build/default/test/einsum/test_conv_syntax.expected
+++ b/_build/default/test/einsum/test_conv_syntax.exe.output
@@ -1,5 +1,5 @@
-Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/einsum/ocannl_config.
+Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
Testing conv syntax parsing...
(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/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/.sandbox/2507ad6f2b3dc332ffb49da7c2696815/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/624e2f89dff4acf19a6e47c078829818/default/test/einsum/ocannl_config.' -source-tree-root ../.. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/2507ad6f2b3dc332ffb49da7c2696815/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/2507ad6f2b3dc332ffb49da7c2696815/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/2507ad6f2b3dc332ffb49da7c2696815/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/2507ad6f2b3dc332ffb49da7c2696815/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/2507ad6f2b3dc332ffb49da7c2696815/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/2507ad6f2b3dc332ffb49da7c2696815/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/2507ad6f2b3dc332ffb49da7c2696815/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/6ffbe1bfeb1684d714287677852cf8de/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/cbbaa3f51cbf3d3e683dfd9ac42373ff/default/test/operations/ocannl_config.' -source-tree-root ../.. -diff-cmd -)
Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/6ffbe1bfeb1684d714287677852cf8de/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/6ffbe1bfeb1684d714287677852cf8de/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/6ffbe1bfeb1684d714287677852cf8de/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/6ffbe1bfeb1684d714287677852cf8de/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/6ffbe1bfeb1684d714287677852cf8de/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/6ffbe1bfeb1684d714287677852cf8de/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/6ffbe1bfeb1684d714287677852cf8de/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/operations/dune", lines 19-29, characters 0-281:
19 | (rule
20 | (alias runtest)
21 | (target
22 | (dir log_files))
23 | (action
24 | (run
25 | %{dep:micrograd_demo_logging.exe}
26 | "--ocannl_debug_backend=text"
27 | "--ocannl_log_file_stem=micrograd_demo_logging"
28 | "--ocannl_log_main_domain_to_stdout=false"
29 | "--ocannl_debug_log_to_stream_files=true")))
(cd _build/default/test/operations && ./micrograd_demo_logging.exe --ocannl_debug_backend=text --ocannl_log_file_stem=micrograd_demo_logging --ocannl_log_main_domain_to_stdout=false --ocannl_debug_log_to_stream_files=true)
Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
Retrieving commandline, environment, or config file variable ocannl_backend
Found multicore_cc, in the config file
Retrieving commandline, environment, or config file variable ocannl_limit_constant_fill_size
Not found, using default 256
Retrieving commandline, environment, or config file variable ocannl_cd_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_ll_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_prefer_backend_uniformity
Found true, in the config file
Retrieving commandline, environment, or config file variable ocannl_debug_log_to_stream_files
Found true, commandline --ocannl_debug_log_to_stream_files=true
Retrieving commandline, environment, or config file variable ocannl_cc_backend_optimization_level
Not found, using default 3
Retrieving commandline, environment, or config file variable ocannl_cc_backend_compiler_command
Not found, using default gcc
Retrieving commandline, environment, or config file variable ocannl_cc_backend_verify_codesign
Not found, using default false
Fatal error: exception File "src/printbox-text/PrintBox_text.ml", line 212, characters 6-12: Assertion failed
Raised at PrintBox_text.Output.Make_out.to_buf_aux_ in file "src/printbox-text/PrintBox_text.ml", line 212, characters 6-50
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 19-42
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from Stdlib__Map.Make.fold in file "map.ml", line 329, characters 26-41
Called from PrintBox_text.Output.Make_out.render in file "src/printbox-text/PrintBox_text.ml", line 242, characters 14-64
Called from PrintBox_text.output in file "src/printbox-text/PrintBox_text.ml", line 851, characters 2-31
Called from Minidebug_runtime.PrintBox.output_box in file "minidebug_runtime.ml", line 1527, characters 19-59
Called from Minidebug_runtime.PrintBox.close_log_impl.close_tree in file "minidebug_runtime.ml", line 1572, characters 6-38
Called from Backends.Add_buffer_retrieval_and_syncing.sync_routine in file "arrayjit/lib/backends.ml", lines 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/6ffbe1bfeb1684d714287677852cf8de/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/6ffbe1bfeb1684d714287677852cf8de/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/6ffbe1bfeb1684d714287677852cf8de/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/6ffbe1bfeb1684d714287677852cf8de/default/test/operations/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/einsum/einsum_trivia_exec.expected", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/einsum_trivia_exec.expected _build/default/test/einsum/einsum_trivia_exec.exe.output
diff --git a/_build/default/test/einsum/einsum_trivia_exec.expected b/_build/default/test/einsum/einsum_trivia_exec.exe.output
index 1ba1584..d04ad65 100644
--- a/_build/default/test/einsum/einsum_trivia_exec.expected
+++ b/_build/default/test/einsum/einsum_trivia_exec.exe.output
@@ -1,5 +1,5 @@
-Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/einsum/ocannl_config.
+Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
HERE: test/einsum/einsum_trivia_exec.ml:31:21
@@ -711,173 +711,173 @@ HERE: test/einsum/einsum_trivia_exec.ml:247:21
HERE: test/einsum/einsum_trivia_exec.ml:274:21
-┌────────────────────────────────┐
-│[9]: ;=>+ shape 0:4,1:5,2:6,3:3 │
-│┌──────┬──────────────────┐ │
-││0 @ 0 │axis 3 │ │
-│├──────┼──────────────────┤ │
-││0 @ 1 │ 0.00 0.00 0.00 │ │
-││axis 2│ 0.00 0.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 0.00 0.00 4.00 │ │
-││ │ 0.00 0.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││1 @ 1 │ 0.00 1.00 0.00 │ │
-││axis 2│ 0.00 1.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 0.00 1.00 4.00 │ │
-││ │ 0.00 1.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││2 @ 1 │ 0.00 2.00 0.00 │ │
-││axis 2│ 0.00 2.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 0.00 2.00 4.00 │ │
-││ │ 0.00 2.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││3 @ 1 │ 0.00 3.00 0.00 │ │
-││axis 2│ 0.00 3.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 0.00 3.00 4.00 │ │
-││ │ 0.00 3.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││4 @ 1 │ 0.00 4.00 0.00 │ │
-││axis 2│ 0.00 4.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 0.00 4.00 4.00 │ │
-││ │ 0.00 4.00 5.00 │ │
-│└──────┴──────────────────┘ │
-├────────────────────────────────┤
-│┌──────┬──────────────────┐ │
-││1 @ 0 │axis 3 │ │
-│├──────┼──────────────────┤ │
-││0 @ 1 │ 1.00 0.00 0.00 │ │
-││axis 2│ 1.00 0.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 1.00 0.00 4.00 │ │
-││ │ 1.00 0.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││1 @ 1 │ 1.00 1.00 0.00 │ │
-││axis 2│ 1.00 1.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 1.00 1.00 4.00 │ │
-││ │ 1.00 1.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││2 @ 1 │ 1.00 2.00 0.00 │ │
-││axis 2│ 1.00 2.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 1.00 2.00 4.00 │ │
-││ │ 1.00 2.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││3 @ 1 │ 1.00 3.00 0.00 │ │
-││axis 2│ 1.00 3.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 1.00 3.00 4.00 │ │
-││ │ 1.00 3.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││4 @ 1 │ 1.00 4.00 0.00 │ │
-││axis 2│ 1.00 4.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 1.00 4.00 4.00 │ │
-││ │ 1.00 4.00 5.00 │ │
-│└──────┴──────────────────┘ │
-├────────────────────────────────┤
-│┌──────┬──────────────────┐ │
-││2 @ 0 │axis 3 │ │
-│├──────┼──────────────────┤ │
-││0 @ 1 │ 2.00 0.00 0.00 │ │
-││axis 2│ 2.00 0.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 2.00 0.00 4.00 │ │
-││ │ 2.00 0.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││1 @ 1 │ 2.00 1.00 0.00 │ │
-││axis 2│ 2.00 1.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 2.00 1.00 4.00 │ │
-││ │ 2.00 1.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││2 @ 1 │ 2.00 2.00 0.00 │ │
-││axis 2│ 2.00 2.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 2.00 2.00 4.00 │ │
-││ │ 2.00 2.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││3 @ 1 │ 2.00 3.00 0.00 │ │
-││axis 2│ 2.00 3.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 2.00 3.00 4.00 │ │
-││ │ 2.00 3.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││4 @ 1 │ 2.00 4.00 0.00 │ │
-││axis 2│ 2.00 4.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 2.00 4.00 4.00 │ │
-││ │ 2.00 4.00 5.00 │ │
-│└──────┴──────────────────┘ │
-├────────────────────────────────┤
-│┌──────┬──────────────────┐ │
-││3 @ 0 │axis 3 │ │
-│├──────┼──────────────────┤ │
-││0 @ 1 │ 3.00 0.00 0.00 │ │
-││axis 2│ 3.00 0.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 3.00 0.00 4.00 │ │
-││ │ 3.00 0.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││1 @ 1 │ 3.00 1.00 0.00 │ │
-││axis 2│ 3.00 1.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 3.00 1.00 4.00 │ │
-││ │ 3.00 1.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││2 @ 1 │ 3.00 2.00 0.00 │ │
-││axis 2│ 3.00 2.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 3.00 2.00 4.00 │ │
-││ │ 3.00 2.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││3 @ 1 │ 3.00 3.00 0.00 │ │
-││axis 2│ 3.00 3.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 3.00 3.00 4.00 │ │
-││ │ 3.00 3.00 5.00 │ │
-│├──────┼──────────────────┤ │
-││4 @ 1 │ 3.00 4.00 0.00 │ │
-││axis 2│ 3.00 4.00 1.00 │ │
-││ │ ... ... ... │ │
-││ │ 3.00 4.00 4.00 │ │
-││ │ 3.00 4.00 5.00 │ │
-│└──────┴──────────────────┘ │
-└────────────────────────────────┘
+┌───────────────────────────────────────┐
+│[9]: ;=>+ shape 0:4,1:5,2:6,3:3 │
+│┌──────┬─────────────────────────────┐ │
+││0 @ 0 │axis 3 │ │
+│├──────┼─────────────────────────────┤ │
+││0 @ 1 │ 8.57e+14 1.22e-40 0.00 │ │
+││axis 2│ 4.28e+14 1.93e+3 1.00 │ │
+││ │ ... ... ... │ │
+││ │ 4.28e+14 3.04e+3 4.00 │ │
+││ │ 4.28e+14 6.12e-41 5.00 │ │
+│├──────┼─────────────────────────────┤ │
+││1 @ 1 │ 4.28e+14 1.00 6.12e-41 │ │
+││axis 2│ 0.00 1.93e+3 1.00 │ │
+││ │ ... ... ... │ │
+││ │ 2.82e+3 3.04e+3 4.00 │ │
+││ │ 0.00 1.00 5.00 │ │
+│├──────┼─────────────────────────────┤ │
+││2 @ 1 │ 4.28e+14 2.00 0.00 │ │
+││axis 2│ -1.11e-37 1.93e+3 1.00 │ │
+││ │ ... ... ... │ │
+││ │ 2.82e+3 3.04e+3 4.00 │ │
+││ │ -1.11e-37 2.00 5.00 │ │
+│├──────┼─────────────────────────────┤ │
+││3 @ 1 │ 4.28e+14 3.00 4.76e+3 │ │
+││axis 2│ 9.18e-41 1.93e+3 4.76e+3 │ │
+││ │ ... ... ... │ │
+││ │ 2.82e+3 3.04e+3 4.76e+3 │ │
+││ │ 9.18e-41 3.00 4.76e+3 │ │
+│├──────┼─────────────────────────────┤ │
+││4 @ 1 │ 4.28e+14 4.00 5.56e+3 │ │
+││axis 2│ 4.68e+3 1.94e+3 5.56e+3 │ │
+││ │ ... ... ... │ │
+││ │ 7.50e+3 3.04e+3 5.56e+3 │ │
+││ │ 4.68e+3 4.00 5.56e+3 │ │
+│└──────┴─────────────────────────────┘ │
+├───────────────────────────────────────┤
+│┌──────┬─────────────────────────────┐ │
+││1 @ 0 │axis 3 │ │
+│├──────┼─────────────────────────────┤ │
+││0 @ 1 │ 8.57e+14 6.12e-41 0.00 │ │
+││axis 2│ 4.28e+14 1.93e+3 1.00 │ │
+││ │ ... ... ... │ │
+││ │ 4.28e+14 3.04e+3 4.00 │ │
+││ │ 4.28e+14 0.00 5.00 │ │
+│├──────┼─────────────────────────────┤ │
+││1 @ 1 │ 4.28e+14 1.00 6.12e-41 │ │
+││axis 2│ 1.00 1.93e+3 1.00 │ │
+││ │ ... ... ... │ │
+││ │ 2.82e+3 3.04e+3 4.00 │ │
+││ │ 1.00 1.00 5.00 │ │
+│├──────┼─────────────────────────────┤ │
+││2 @ 1 │ 4.28e+14 2.00 0.00 │ │
+││axis 2│ 1.00 1.93e+3 1.00 │ │
+││ │ ... ... ... │ │
+││ │ 2.82e+3 3.04e+3 4.00 │ │
+││ │ 1.00 2.00 5.00 │ │
+│├──────┼─────────────────────────────┤ │
+││3 @ 1 │ 4.28e+14 3.00 4.76e+3 │ │
+││axis 2│ 1.00 1.93e+3 4.76e+3 │ │
+││ │ ... ... ... │ │
+││ │ 2.82e+3 3.04e+3 4.76e+3 │ │
+││ │ 1.00 3.00 4.76e+3 │ │
+│├──────┼─────────────────────────────┤ │
+││4 @ 1 │ 4.28e+14 4.00 5.56e+3 │ │
+││axis 2│ 4.68e+3 1.94e+3 5.56e+3 │ │
+││ │ ... ... ... │ │
+││ │ 7.50e+3 3.04e+3 5.56e+3 │ │
+││ │ 4.68e+3 4.00 5.56e+3 │ │
+│└──────┴─────────────────────────────┘ │
+├───────────────────────────────────────┤
+│┌──────┬──────────────────────────────┐│
+││2 @ 0 │axis 3 ││
+│├──────┼──────────────────────────────┤│
+││0 @ 1 │ 8.57e+14 6.12e-41 5.60e-45 ││
+││axis 2│ 4.28e+14 1.93e+3 1.00 ││
+││ │ ... ... ... ││
+││ │ 4.28e+14 3.04e+3 4.00 ││
+││ │ 4.28e+14 0.00 5.00 ││
+│├──────┼──────────────────────────────┤│
+││1 @ 1 │ 4.28e+14 1.00 6.12e-41 ││
+││axis 2│ 2.00 1.93e+3 1.00 ││
+││ │ ... ... ... ││
+││ │ 2.82e+3 3.04e+3 4.00 ││
+││ │ 2.00 1.00 5.00 ││
+│├──────┼──────────────────────────────┤│
+││2 @ 1 │ 4.28e+14 2.00 5.60e-45 ││
+││axis 2│ 2.00 1.93e+3 1.00 ││
+││ │ ... ... ... ││
+││ │ 2.82e+3 3.04e+3 4.00 ││
+││ │ 2.00 2.00 5.00 ││
+│├──────┼──────────────────────────────┤│
+││3 @ 1 │ 4.28e+14 3.00 4.76e+3 ││
+││axis 2│ 2.00 1.93e+3 4.76e+3 ││
+││ │ ... ... ... ││
+││ │ 2.82e+3 3.04e+3 4.76e+3 ││
+││ │ 2.00 3.00 4.76e+3 ││
+│├──────┼──────────────────────────────┤│
+││4 @ 1 │ 4.28e+14 4.00 5.56e+3 ││
+││axis 2│ 4.68e+3 1.94e+3 5.56e+3 ││
+││ │ ... ... ... ││
+││ │ 7.50e+3 3.04e+3 5.56e+3 ││
+││ │ 4.68e+3 4.00 5.56e+3 ││
+│└──────┴──────────────────────────────┘│
+├───────────────────────────────────────┤
+│┌──────┬─────────────────────────────┐ │
+││3 @ 0 │axis 3 │ │
+│├──────┼─────────────────────────────┤ │
+││0 @ 1 │ 8.57e+14 6.12e-41 0.00 │ │
+││axis 2│ 4.28e+14 1.93e+3 1.00 │ │
+││ │ ... ... ... │ │
+││ │ 4.28e+14 3.04e+3 4.00 │ │
+││ │ 4.28e+14 0.00 5.00 │ │
+│├──────┼─────────────────────────────┤ │
+││1 @ 1 │ 4.28e+14 1.00 6.12e-41 │ │
+││axis 2│ 3.00 1.93e+3 1.00 │ │
+││ │ ... ... ... │ │
+││ │ 2.82e+3 3.04e+3 4.00 │ │
+││ │ 3.00 1.00 5.00 │ │
+│├──────┼─────────────────────────────┤ │
+││2 @ 1 │ 4.28e+14 2.00 0.00 │ │
+││axis 2│ 3.00 1.93e+3 1.00 │ │
+││ │ ... ... ... │ │
+││ │ 2.82e+3 3.04e+3 4.00 │ │
+││ │ 3.00 2.00 5.00 │ │
+│├──────┼─────────────────────────────┤ │
+││3 @ 1 │ 4.28e+14 3.00 4.76e+3 │ │
+││axis 2│ 3.00 1.93e+3 4.76e+3 │ │
+││ │ ... ... ... │ │
+││ │ 2.82e+3 3.04e+3 4.76e+3 │ │
+││ │ 3.00 3.00 4.76e+3 │ │
+│├──────┼─────────────────────────────┤ │
+││4 @ 1 │ 4.28e+14 4.00 5.56e+3 │ │
+││axis 2│ 4.68e+3 1.94e+3 5.56e+3 │ │
+││ │ ... ... ... │ │
+││ │ 7.50e+3 3.04e+3 5.56e+3 │ │
+││ │ 4.68e+3 4.00 5.56e+3 │ │
+│└──────┴─────────────────────────────┘ │
+└───────────────────────────────────────┘
HERE: test/einsum/einsum_trivia_exec.ml:275:21
-┌───────────────────────────┐
-│[1]: =>_ti shape 0:4,1:3 │
-│┌──────┬──────────────────┐│
-││ │axis 1 ││
-│├──────┼──────────────────┤│
-││axis 0│ 0.00 0.00 0.00 ││
-││ │ 1.00 0.00 0.00 ││
-││ │ 2.00 0.00 0.00 ││
-││ │ 3.00 0.00 0.00 ││
-│└──────┴──────────────────┘│
-└───────────────────────────┘
+┌───────────────────────────────────┐
+│[1]: =>_ti shape 0:4,1:3 │
+│┌──────┬──────────────────────────┐│
+││ │axis 1 ││
+│├──────┼──────────────────────────┤│
+││axis 0│ 0.00 6.12e-41 0.00 ││
+││ │ 1.00 0.00 0.00 ││
+││ │ 2.00 0.00 5.60e-45 ││
+││ │ 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│ 0.00 0.00 0.00 ││
-││ │ 0.00 0.00 1.00 ││
-││ │ ... ... ... ││
-││ │ 0.00 0.00 4.00 ││
-││ │ 0.00 0.00 5.00 ││
-│└──────┴──────────────────┘│
-└───────────────────────────┘
+┌───────────────────────────────────┐
+│[7]: =>_tk shape 0:6,1:3 │
+│┌──────┬──────────────────────────┐│
+││ │axis 1 ││
+│├──────┼──────────────────────────┤│
+││axis 0│ 4.28e+14 6.12e-41 0.00 ││
+││ │ 0.00 1.93e+3 1.00 ││
+││ │ ... ... ... ││
+││ │ 2.82e+3 3.04e+3 4.00 ││
+││ │ 0.00 0.00 5.00 ││
+│└──────┴──────────────────────────┘│
+└───────────────────────────────────┘
HERE: test/einsum/einsum_trivia_exec.ml:299:21
(cd _build/.sandbox/2507ad6f2b3dc332ffb49da7c2696815/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/2507ad6f2b3dc332ffb49da7c2696815/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/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/einsum_trivia.ml _build/.sandbox/2507ad6f2b3dc332ffb49da7c2696815/default/test/einsum/einsum_trivia.ml.corrected
diff --git a/_build/default/test/einsum/einsum_trivia.ml b/_build/.sandbox/2507ad6f2b3dc332ffb49da7c2696815/default/test/einsum/einsum_trivia.ml.corrected
index 1687e2f..417b544 100644
--- a/_build/default/test/einsum/einsum_trivia.ml
+++ b/_build/.sandbox/2507ad6f2b3dc332ffb49da7c2696815/default/test/einsum/einsum_trivia.ml.corrected
@@ -996,177 +996,177 @@ let%expect_test "outer_sum simulating axis concatenation" =
[%expect
{|
HERE: test/einsum/einsum_trivia.ml:995:21
- ┌────────────────────────────────┐
- │[9]: ;=>+ shape 0:4,1:5,2:6,3:3 │
- │┌──────┬──────────────────┐ │
- ││0 @ 0 │axis 3 │ │
- │├──────┼──────────────────┤ │
- ││0 @ 1 │ 0.00 0.00 0.00 │ │
- ││axis 2│ 0.00 0.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 0.00 0.00 4.00 │ │
- ││ │ 0.00 0.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││1 @ 1 │ 0.00 1.00 0.00 │ │
- ││axis 2│ 0.00 1.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 0.00 1.00 4.00 │ │
- ││ │ 0.00 1.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││2 @ 1 │ 0.00 2.00 0.00 │ │
- ││axis 2│ 0.00 2.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 0.00 2.00 4.00 │ │
- ││ │ 0.00 2.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││3 @ 1 │ 0.00 3.00 0.00 │ │
- ││axis 2│ 0.00 3.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 0.00 3.00 4.00 │ │
- ││ │ 0.00 3.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││4 @ 1 │ 0.00 4.00 0.00 │ │
- ││axis 2│ 0.00 4.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 0.00 4.00 4.00 │ │
- ││ │ 0.00 4.00 5.00 │ │
- │└──────┴──────────────────┘ │
- ├────────────────────────────────┤
- │┌──────┬──────────────────┐ │
- ││1 @ 0 │axis 3 │ │
- │├──────┼──────────────────┤ │
- ││0 @ 1 │ 1.00 0.00 0.00 │ │
- ││axis 2│ 1.00 0.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 1.00 0.00 4.00 │ │
- ││ │ 1.00 0.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││1 @ 1 │ 1.00 1.00 0.00 │ │
- ││axis 2│ 1.00 1.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 1.00 1.00 4.00 │ │
- ││ │ 1.00 1.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││2 @ 1 │ 1.00 2.00 0.00 │ │
- ││axis 2│ 1.00 2.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 1.00 2.00 4.00 │ │
- ││ │ 1.00 2.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││3 @ 1 │ 1.00 3.00 0.00 │ │
- ││axis 2│ 1.00 3.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 1.00 3.00 4.00 │ │
- ││ │ 1.00 3.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││4 @ 1 │ 1.00 4.00 0.00 │ │
- ││axis 2│ 1.00 4.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 1.00 4.00 4.00 │ │
- ││ │ 1.00 4.00 5.00 │ │
- │└──────┴──────────────────┘ │
- ├────────────────────────────────┤
- │┌──────┬──────────────────┐ │
- ││2 @ 0 │axis 3 │ │
- │├──────┼──────────────────┤ │
- ││0 @ 1 │ 2.00 0.00 0.00 │ │
- ││axis 2│ 2.00 0.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 2.00 0.00 4.00 │ │
- ││ │ 2.00 0.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││1 @ 1 │ 2.00 1.00 0.00 │ │
- ││axis 2│ 2.00 1.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 2.00 1.00 4.00 │ │
- ││ │ 2.00 1.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││2 @ 1 │ 2.00 2.00 0.00 │ │
- ││axis 2│ 2.00 2.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 2.00 2.00 4.00 │ │
- ││ │ 2.00 2.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││3 @ 1 │ 2.00 3.00 0.00 │ │
- ││axis 2│ 2.00 3.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 2.00 3.00 4.00 │ │
- ││ │ 2.00 3.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││4 @ 1 │ 2.00 4.00 0.00 │ │
- ││axis 2│ 2.00 4.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 2.00 4.00 4.00 │ │
- ││ │ 2.00 4.00 5.00 │ │
- │└──────┴──────────────────┘ │
- ├────────────────────────────────┤
- │┌──────┬──────────────────┐ │
- ││3 @ 0 │axis 3 │ │
- │├──────┼──────────────────┤ │
- ││0 @ 1 │ 3.00 0.00 0.00 │ │
- ││axis 2│ 3.00 0.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 3.00 0.00 4.00 │ │
- ││ │ 3.00 0.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││1 @ 1 │ 3.00 1.00 0.00 │ │
- ││axis 2│ 3.00 1.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 3.00 1.00 4.00 │ │
- ││ │ 3.00 1.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││2 @ 1 │ 3.00 2.00 0.00 │ │
- ││axis 2│ 3.00 2.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 3.00 2.00 4.00 │ │
- ││ │ 3.00 2.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││3 @ 1 │ 3.00 3.00 0.00 │ │
- ││axis 2│ 3.00 3.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 3.00 3.00 4.00 │ │
- ││ │ 3.00 3.00 5.00 │ │
- │├──────┼──────────────────┤ │
- ││4 @ 1 │ 3.00 4.00 0.00 │ │
- ││axis 2│ 3.00 4.00 1.00 │ │
- ││ │ ... ... ... │ │
- ││ │ 3.00 4.00 4.00 │ │
- ││ │ 3.00 4.00 5.00 │ │
- │└──────┴──────────────────┘ │
- └────────────────────────────────┘
+ ┌─────────────────────────────────────────────┐
+ │[9]: ;=>+ shape 0:4,1:5,2:6,3:3 includes NaN│
+ │┌──────┬───────────────────────────┐ │
+ ││0 @ 0 │axis 3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││0 @ 1 │ 2.08e+1 1.22e-40 0.00 │ │
+ ││axis 2│ 1.04e+1 1.93e+3 1.00 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 2.83e+3 3.04e+3 4.00 │ │
+ ││ │ 1.04e+1 6.12e-41 5.00 │ │
+ │├──────┼───────────────────────────┤ │
+ ││1 @ 1 │ 1.04e+1 1.00 3.16e+3 │ │
+ ││axis 2│ 0.00 1.93e+3 3.16e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 2.82e+3 3.04e+3 3.16e+3 │ │
+ ││ │ 0.00 1.00 3.16e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││2 @ 1 │ 3.34e+3 2.00 3.96e+3 │ │
+ ││axis 2│ 3.33e+3 1.93e+3 3.96e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 6.15e+3 3.04e+3 3.96e+3 │ │
+ ││ │ 3.33e+3 2.00 3.96e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││3 @ 1 │ 4.01e+3 3.00 4.76e+3 │ │
+ ││axis 2│ 4.00e+3 1.93e+3 4.76e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 6.82e+3 3.04e+3 4.76e+3 │ │
+ ││ │ 4.00e+3 3.00 4.76e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││4 @ 1 │ 4.69e+3 4.00 5.56e+3 │ │
+ ││axis 2│ 4.68e+3 1.94e+3 5.56e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 7.50e+3 3.04e+3 5.56e+3 │ │
+ ││ │ 4.68e+3 4.00 5.56e+3 │ │
+ │└──────┴───────────────────────────┘ │
+ ├─────────────────────────────────────────────┤
+ │┌──────┬────────────────────────┐ │
+ ││1 @ 0 │axis 3 │ │
+ │├──────┼────────────────────────┤ │
+ ││0 @ 1 │ 2.18e+1 -nan 0.00 │ │
+ ││axis 2│ 1.14e+1 -nan 1.00 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 2.83e+3 -nan 4.00 │ │
+ ││ │ 1.14e+1 -nan 5.00 │ │
+ │├──────┼────────────────────────┤ │
+ ││1 @ 1 │ 1.14e+1 -nan 3.16e+3 │ │
+ ││axis 2│ 1.00 -nan 3.16e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 2.82e+3 -nan 3.16e+3 │ │
+ ││ │ 1.00 -nan 3.16e+3 │ │
+ │├──────┼────────────────────────┤ │
+ ││2 @ 1 │ 3.34e+3 -nan 3.96e+3 │ │
+ ││axis 2│ 3.33e+3 -nan 3.96e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 6.15e+3 -nan 3.96e+3 │ │
+ ││ │ 3.33e+3 -nan 3.96e+3 │ │
+ │├──────┼────────────────────────┤ │
+ ││3 @ 1 │ 4.01e+3 -nan 4.76e+3 │ │
+ ││axis 2│ 4.00e+3 -nan 4.76e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 6.82e+3 -nan 4.76e+3 │ │
+ ││ │ 4.00e+3 -nan 4.76e+3 │ │
+ │├──────┼────────────────────────┤ │
+ ││4 @ 1 │ 4.69e+3 -nan 5.56e+3 │ │
+ ││axis 2│ 4.68e+3 -nan 5.56e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 7.50e+3 -nan 5.56e+3 │ │
+ ││ │ 4.68e+3 -nan 5.56e+3 │ │
+ │└──────┴────────────────────────┘ │
+ ├─────────────────────────────────────────────┤
+ │┌──────┬───────────────────────────┐ │
+ ││2 @ 0 │axis 3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││0 @ 1 │ 2.28e+1 6.12e-41 0.00 │ │
+ ││axis 2│ 1.24e+1 1.93e+3 1.00 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 2.83e+3 3.04e+3 4.00 │ │
+ ││ │ 1.24e+1 0.00 5.00 │ │
+ │├──────┼───────────────────────────┤ │
+ ││1 @ 1 │ 1.24e+1 1.00 3.16e+3 │ │
+ ││axis 2│ 2.00 1.93e+3 3.16e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 2.82e+3 3.04e+3 3.16e+3 │ │
+ ││ │ 2.00 1.00 3.16e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││2 @ 1 │ 3.34e+3 2.00 3.96e+3 │ │
+ ││axis 2│ 3.33e+3 1.93e+3 3.96e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 6.15e+3 3.04e+3 3.96e+3 │ │
+ ││ │ 3.33e+3 2.00 3.96e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││3 @ 1 │ 4.02e+3 3.00 4.76e+3 │ │
+ ││axis 2│ 4.01e+3 1.93e+3 4.76e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 6.83e+3 3.04e+3 4.76e+3 │ │
+ ││ │ 4.01e+3 3.00 4.76e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││4 @ 1 │ 4.69e+3 4.00 5.56e+3 │ │
+ ││axis 2│ 4.68e+3 1.94e+3 5.56e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 7.50e+3 3.04e+3 5.56e+3 │ │
+ ││ │ 4.68e+3 4.00 5.56e+3 │ │
+ │└──────┴───────────────────────────┘ │
+ ├─────────────────────────────────────────────┤
+ │┌──────┬───────────────────────────┐ │
+ ││3 @ 0 │axis 3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││0 @ 1 │ 2.38e+1 6.12e-41 0.00 │ │
+ ││axis 2│ 1.34e+1 1.93e+3 1.00 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 2.83e+3 3.04e+3 4.00 │ │
+ ││ │ 1.34e+1 0.00 5.00 │ │
+ │├──────┼───────────────────────────┤ │
+ ││1 @ 1 │ 1.34e+1 1.00 3.16e+3 │ │
+ ││axis 2│ 3.00 1.93e+3 3.16e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 2.82e+3 3.04e+3 3.16e+3 │ │
+ ││ │ 3.00 1.00 3.16e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││2 @ 1 │ 3.34e+3 2.00 3.96e+3 │ │
+ ││axis 2│ 3.33e+3 1.93e+3 3.96e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 6.15e+3 3.04e+3 3.96e+3 │ │
+ ││ │ 3.33e+3 2.00 3.96e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││3 @ 1 │ 4.02e+3 3.00 4.76e+3 │ │
+ ││axis 2│ 4.01e+3 1.93e+3 4.76e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 6.83e+3 3.04e+3 4.76e+3 │ │
+ ││ │ 4.01e+3 3.00 4.76e+3 │ │
+ │├──────┼───────────────────────────┤ │
+ ││4 @ 1 │ 4.69e+3 4.00 5.56e+3 │ │
+ ││axis 2│ 4.68e+3 1.94e+3 5.56e+3 │ │
+ ││ │ ... ... ... │ │
+ ││ │ 7.50e+3 3.04e+3 5.56e+3 │ │
+ ││ │ 4.68e+3 4.00 5.56e+3 │ │
+ │└──────┴───────────────────────────┘ │
+ └─────────────────────────────────────────────┘
|}];
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ ti;
[%expect
{|
HERE: test/einsum/einsum_trivia.ml:1138:21
- ┌───────────────────────────┐
- │[1]: =>_ti shape 0:4,1:3 │
- │┌──────┬──────────────────┐│
- ││ │axis 1 ││
- │├──────┼──────────────────┤│
- ││axis 0│ 0.00 0.00 0.00 ││
- ││ │ 1.00 0.00 0.00 ││
- ││ │ 2.00 0.00 0.00 ││
- ││ │ 3.00 0.00 0.00 ││
- │└──────┴──────────────────┘│
- └───────────────────────────┘
+ ┌──────────────────────────────────────┐
+ │[1]: =>_ti shape 0:4,1:3 includes NaN│
+ │┌──────┬──────────────────────┐ │
+ ││ │axis 1 │ │
+ │├──────┼──────────────────────┤ │
+ ││axis 0│ 0.00 6.12e-41 0.00 │ │
+ ││ │ 1.00 -nan 0.00 │ │
+ ││ │ 2.00 0.00 0.00 │ │
+ ││ │ 3.00 0.00 0.00 │ │
+ │└──────┴──────────────────────┘ │
+ └──────────────────────────────────────┘
|}];
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ tk;
[%expect
{|
HERE: test/einsum/einsum_trivia.ml:1154:21
- ┌───────────────────────────┐
- │[7]: =>_tk shape 0:6,1:3 │
- │┌──────┬──────────────────┐│
- ││ │axis 1 ││
- │├──────┼──────────────────┤│
- ││axis 0│ 0.00 0.00 0.00 ││
- ││ │ 0.00 0.00 1.00 ││
- ││ │ ... ... ... ││
- ││ │ 0.00 0.00 4.00 ││
- ││ │ 0.00 0.00 5.00 ││
- │└──────┴──────────────────┘│
- └───────────────────────────┘
+ ┌──────────────────────────────────┐
+ │[7]: =>_tk shape 0:6,1:3 │
+ │┌──────┬─────────────────────────┐│
+ ││ │axis 1 ││
+ │├──────┼─────────────────────────┤│
+ ││axis 0│ 1.04e+1 6.12e-41 0.00 ││
+ ││ │ 0.00 1.93e+3 1.00 ││
+ ││ │ ... ... ... ││
+ ││ │ 2.82e+3 3.04e+3 4.00 ││
+ ││ │ 0.00 0.00 5.00 ││
+ │└──────┴─────────────────────────┘│
+ └──────────────────────────────────┘
|}]
let%expect_test "einsum with a leftmost input axis preserved as output axis" =
File "test/einsum/moons_demo_variant.expected", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/moons_demo_variant.expected _build/default/test/einsum/moons_demo_variant.exe.output
diff --git a/_build/default/test/einsum/moons_demo_variant.expected b/_build/default/test/einsum/moons_demo_variant.exe.output
index 57139da..1284ad0 100644
--- a/_build/default/test/einsum/moons_demo_variant.expected
+++ b/_build/default/test/einsum/moons_demo_variant.exe.output
@@ -1,5 +1,5 @@
-Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/einsum/ocannl_config.
+Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/einsum/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
Tnode: collecting accessible arrays...
(cd _build/.sandbox/6ffbe1bfeb1684d714287677852cf8de/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/6ffbe1bfeb1684d714287677852cf8de/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/bin/git --no-pager diff --no-index --color=always -u _build/default/test/operations/zero2hero_1of7.ml _build/.sandbox/6ffbe1bfeb1684d714287677852cf8de/default/test/operations/zero2hero_1of7.ml.corrected
diff --git a/_build/default/test/operations/zero2hero_1of7.ml b/_build/.sandbox/6ffbe1bfeb1684d714287677852cf8de/default/test/operations/zero2hero_1of7.ml.corrected
index 2fe7000..62f6de2 100644
--- a/_build/default/test/operations/zero2hero_1of7.ml
+++ b/_build/.sandbox/6ffbe1bfeb1684d714287677852cf8de/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 includes pos. inf.
+ inf
+ #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.25e-12 │<void>
+ #31 grad_- │
+ 1.00 │
+ #28 *. │ #21 *. │
+ 2.94e-25 │ -1.25e-12 │
+ #29 grad_*. │ #22 grad_*. │
+ 1.00 │ -1.00 │
+ #27 3. Virt/40│ #24 **. │#20 4. Virt/40│[17]│
+ <void> │ 9.82e-26 │<void> │ │
+ │ #25 grad_**. │ │ │
+ │ 3.00 │ │ │
+ │[17]│#23 2. Virt/40│ │ │
+ │ │<void> │ │ │
|}];
let xs = Array.init 10 ~f:Float.(fun i -> of_int i - 5.) in
let ys =
@@ -276,22 +276,19 @@ let%expect_test "Simple gradients hosted" =
Tensor.print_tree ~spy:true ~with_grad:true ~depth:9 l;
[%expect
{|
- #12 *._l Host&stream/41
- <not-in-yet>
- #13 grad_*._l Host&stream/41
- <not-in-yet>
- #8 +_d Host&stream/41 │#10 f Host&shared/39
- <not-in-yet> │<not-in-yet>
- #9 grad_+_d Host&stream/41 │#11 grad_f Host&stream/41
- <not-in-yet> │<not-in-yet>
- #4 *._e Host&stream/41 │#6 c Host&shared/39 │
- <not-in-yet> │<not-in-yet> │
- #5 grad_*._e Host&stream/41 │#7 grad_c Host&stream/41│
- <not-in-yet> │<not-in-yet> │
- #0 a Host&shared/39 │#2 b Host&shared/39 │ │
- <not-in-yet> │<not-in-yet> │ │
- #1 grad_a Host&stream/41│#3 grad_b Host&stream/41│ │
- <not-in-yet> │<not-in-yet> │ │
+ #12 *._l Host&stream/412410
+ <not-in-yet>
+ #13 grad_*._l Host&stream/412410
+ <not-in-yet>
+ #8 +_d Host&stream/412410 │[10]
+ <not-in-yet> │
+ #9 grad_+_d Host&stream/412410 │
+ <not-in-yet> │
+ #4 *._e Host&stream/412410 │[6]│
+ <not-in-yet> │ │
+ #5 grad_*._e Host&stream/412410│ │
+ <not-in-yet> │ │
+ [0]│[2] │ │
|}];
(* Do not update the params: all values and gradients will be at initial points, which are
specified in the tensor in the brackets. *)
@@ -300,22 +297,19 @@ let%expect_test "Simple gradients hosted" =
Tensor.print_tree ~with_grad:true ~depth:9 l;
[%expect
{|
- #12 *._l
- -8.00
- #13 grad_*._l
- 1.00
- #8 +_d │#10 f
- 4.00 │ -2.00
- #9 grad_+_d │#11 grad_f
- -2.00 │ 4.00
- #4 *._e │#6 c │
- -6.00 │ 1.00e+1 │
- #5 grad_*._e │#7 grad_c│
- -2.00 │ -2.00 │
- #0 a │#2 b │ │
- 2.00 │ -3.00 │ │
- #1 grad_a│#3 grad_b│ │
- 6.00 │ -4.00 │ │
+ #12 *._l
+ 6.87e-25
+ #13 grad_*._l
+ 1.00
+ #8 +_d │[10]
+ -2.19e-12 │
+ #9 grad_+_d │
+ -3.13e-13 │
+ #4 *._e │[6]│
+ 4.95e-24 │ │
+ #5 grad_*._e│ │
+ -3.13e-13 │ │
+ [0]│[2] │ │
|}];
(* Now we update the params, but we are not doing the forward and backward passes: only params
values will change, compared to the above. The update is in the opposite direction of the
@@ -324,22 +318,19 @@ let%expect_test "Simple gradients hosted" =
Tensor.print_tree ~with_grad:true ~depth:9 l;
[%expect
{|
- #12 *._l
- -8.00
- #13 grad_*._l
- 1.00
- #8 +_d │#10 f
- 4.00 │ -2.40
- #9 grad_+_d │#11 grad_f
- -2.00 │ 4.00
- #4 *._e │#6 c │
- -6.00 │ 1.02e+1 │
- #5 grad_*._e │#7 grad_c│
- -2.00 │ -2.00 │
- #0 a │#2 b │ │
- 1.40 │ -2.60 │ │
- #1 grad_a│#3 grad_b│ │
- 6.00 │ -4.00 │ │
+ #12 *._l
+ 6.87e-25
+ #13 grad_*._l
+ 1.00
+ #8 +_d │[10]
+ -2.19e-12 │
+ #9 grad_+_d │
+ -3.13e-13 │
+ #4 *._e │[6]│
+ 4.95e-24 │ │
+ #5 grad_*._e│ │
+ -3.13e-13 │ │
+ [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
+ 6.87e-25
+ #13 grad_*._l
+ 1.00
+ #8 +_d │[10]
+ -2.19e-12 │
+ #9 grad_+_d │
+ -3.13e-13 │
+ #4 *._e │[6]│
+ 4.95e-24 │ │
+ #5 grad_*._e│ │
+ -3.13e-13 │ │
+ [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
+ 4.80e-24
+ #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
+ 4.80e-24
+ #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
+ 4.80e-24
+ #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
+ -2.22e-12
+ #9 grad_+_v
+ 1.00
+ #6 * │[0]
+ 4.42e-24 │
+ #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
+ -2.14e-12
+ #9 grad_+_v Virt/40
+ <void>
+ #6 * Local/1046 │[0]
+ <void> │
+ #7 grad_* Virt/40│
+ <void> │
+ [2]│[4] │
|}]
File "test/operations/hello_world_op.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/operations/hello_world_op.ml _build/.sandbox/6ffbe1bfeb1684d714287677852cf8de/default/test/operations/hello_world_op.ml.corrected
diff --git a/_build/default/test/operations/hello_world_op.ml b/_build/.sandbox/6ffbe1bfeb1684d714287677852cf8de/default/test/operations/hello_world_op.ml.corrected
index 95901f5..754c94d 100644
--- a/_build/default/test/operations/hello_world_op.ml
+++ b/_build/.sandbox/6ffbe1bfeb1684d714287677852cf8de/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.33e-13 │ │
+ │└┴───────────┘ │
└────────────────────┘
|}]
@@ -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│ -2.06e-31 │ │
+ │└──────┴───────────┘ │
└────────────────────────┘
|}];
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,8 +145,9 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hoo;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:139:21
┌─────────────────────────────────────────────────────────────────────────────┐
- │[1]: [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]_hoo shape 0:2|1:3 │
+ │[1]: [| [ 0.00 ; 0.00 ; 0.00 ] ; [ 0.00 ; 0.00 ; 0.00 ] |]_hoo shape 0:2|1:3 │
│┌──────┬──────────────────┐ │
││ │axis 1 │ │
│├──────┼──────────────────┤ │
@@ -161,6 +168,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hey2;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:161:21
[2]: c4x2x3_hey2 shape 1:2,2:3->0:4 [
( 1.00 , 2.00 , 3.00 ) , ( 4.00 , 5.00 , 6.00 )
; ( 7.00 , 8.00 , 9.00 ) , ( 10.00 , 11.00 , 12.00 )
@@ -171,6 +179,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey2;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:171:21
┌────────────────────────────────────────────────────────────────┐
│[2]: c4x2x3_hey2 shape 1:2,2:3->0:4 │
│┌──────┬───────────────────────────┬───────────────────────────┐│
@@ -196,6 +205,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ hoo2;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:196:21
[3]: c4x2x3_hoo2 shape 0:4|1:2,2:3 [|
[ [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] ]
; [ [ 7.00 ; 8.00 ; 9.00 ] ; [ 10.00 ; 11.00 ; 12.00 ] ]
@@ -206,6 +216,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hoo2;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:206:21
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[3]: c4x2x3_hoo2 shape 0:4|1:2,2:3 │
│┌──────┬──────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐│
@@ -229,6 +240,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:229:21
[4]: c4x2x3_heyhoo shape 0:4,1:2|2:3 [|
[| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]
; [| [ 7.00 ; 8.00 ; 9.00 ] ; [ 10.00 ; 11.00 ; 12.00 ] |]
@@ -239,6 +251,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:239:21
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[4]: c4x2x3_heyhoo shape 0:4,1:2|2:3 │
│┌──────┬──────────────────┬───────────────────────────┬───────────────────────────┬───────────────────────────┐│
@@ -262,6 +275,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo2;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:262:21
[5]: c4x2x3x2_heyhoo2 shape 0:4,1:2|2:3,3:2 [|
[|
[ [ 1.00 ; 31.00 ] ; [ 2.00 ; 32.00 ] ; [ 3.00 ; 33.00 ] ]
@@ -284,6 +298,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo2;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:284:21
┌──────────────────────────────────────────────┐
│[5]: c4x2x3x2_heyhoo2 shape 0:4,1:2|2:3,3:2 │
│┌──────┬──────────────────┬──────────────────┐│
@@ -324,6 +339,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo3;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:324:21
[6]: c2x2x2x3x2_heyhoo3 shape 0:2,1:2|2:2,3:3,4:2 [|
[|
[
@@ -350,6 +366,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo3;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:350:21
┌──────────────────────────────────────────────────┐
│[6]: c2x2x2x3x2_heyhoo3 shape 0:2,1:2|2:2,3:3,4:2 │
│┌──────┬───────────────┬──────────────────┐ │
@@ -395,6 +412,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Inline @@ heyhoo4;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:395:21
[7]: c2x2x2x3x2_heyhoo4 shape 0:2|4:2->1:2,2:2,3:3 [|
[
[
@@ -421,6 +439,7 @@ let%expect_test "Print constant tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ heyhoo4;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:421:21
┌───────────────────────────────────────────────────┐
│[7]: c2x2x2x3x2_heyhoo4 shape 0:2|4:2->1:2,2:2,3:3 │
│┌──────┬───────────────┬──────────────────┐ │
@@ -471,28 +490,30 @@ let%expect_test "Matrix multiplication dims 2x3" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default @@ hey;
[%expect
{|
- ┌────────────────────────┐
- │[0]: hey shape 1:2->0:3 │
- │┌──────┬────────────┐ │
- ││ │axis 1 │ │
- │├──────┼────────────┤ │
- ││axis 0│ 7.00 7.00 │ │
- ││ │ 7.00 7.00 │ │
- ││ │ 7.00 7.00 │ │
- │└──────┴────────────┘ │
- └────────────────────────┘
+ HERE: test/operations/hello_world_op.ml:471:21
+ ┌──────────────────────────────┐
+ │[0]: hey shape 1:2->0:3 │
+ │┌──────┬─────────────────────┐│
+ ││ │axis 1 ││
+ │├──────┼─────────────────────┤│
+ ││axis 0│ -2.10e-31 6.12e-41 ││
+ ││ │ 0.00 0.00 ││
+ ││ │ 4.48e-44 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│ -9.54e-5 9.18e-41 ... -2.28e-26 -1.36e-38 ││
+ ││ │ -1.18e+21 -2.28e-26 ... -2.28e-26 -5.87e-29 ││
+ ││ │ ... ... ... ... ... ││
+ ││ │ -1.18e+21 -2.28e-26 ... -1.20e+21 -6.38e+20 ││
+ ││ │ -2.28e-26 1.87e+25 ... 6.44e-10 1.50e-19 ││
+ │└──────┴─────────────────────────────────────────────────┘│
+ └──────────────────────────────────────────────────────────┘
|}];
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 ││
+ │├┼───────────────────────────────────────────────┤│
+ │││ -6.40e+22 -7.47e+22 ... 1.35e+24 1.89e+25 ││
+ │└┴───────────────────────────────────────────────┘│
+ └──────────────────────────────────────────────────┘
|}]
let%expect_test "Very big tensor" =
@@ -566,6 +589,7 @@ let%expect_test "Very big tensor" =
Tensor.print ~here:[%here] ~with_code:false ~with_grad:false `Default hey;
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:566:21
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[0]: r6x10x11x7x8x9 shape 0:6|3:7,4:8,5:9->1:10,2:11 │
│┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬──────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│
@@ -703,6 +727,7 @@ let%expect_test "Very big tensor" =
(* Disable line wrapping for viewing the output. In VSCode: `View: Toggle Word Wrap`. *)
[%expect
{|
+ HERE: test/operations/hello_world_op.ml:702:21
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│[6]: -_hoo shape 0:6|1:10,2:11 │
│┌──────┬─────────────────────────────────────────┬─────────────────────────────────────────┬──────┬─────────────────────────────────────────┬─────────────────────────────────────────┐│
File "test/training/moons_demo.expected", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/training/moons_demo.expected _build/default/test/training/moons_demo.exe.output
diff --git a/_build/default/test/training/moons_demo.expected b/_build/default/test/training/moons_demo.exe.output
index f88c473..e8aa27e 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:
+┌─────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
+│ 0.00│ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│l │ │
+│o │ │
+│s │ │
+│s │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ 0.00│----------------------------------------------------------------------------------------------------│
+├─────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
+│ │0.00 3.99e+2│
+│ │ step │
+└─────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘Log-loss, for better visibility:
+┌─────────┬────────────────────────────────────────────────────────────────────────────────────────────────────┐
+│ -1.00e+1│ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│l │ │
+│o │ │
+│g │ │
+│ │ │
+│l │ │
+│o │ │
+│s │ │
+│s │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ │ │
+│ -1.00e+1│----------------------------------------------------------------------------------------------------│
+├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
+│ │0.00 3.99e+2│
+│ │ step │
+└─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘
+Learning rate:
+┌─────────┬───────────────────────────────────────────────────────────────────────────────────────────────────┐
+│ -1.00e-1│ -│
+│ │ ---│
+│ │ ---- │
+│ │ --- │
+│ │ ---- │
+│ │ --- │
+│ │ --- │
+│ │ --- │
+│ │ --- │
+│ │ ---- │
+│ │ --- │
+│ │ ---- │
+│ │ --- │
+│l │ ---- │
+│e │ --- │
+│a │ --- │
+│r │ --- │
+│n │ --- │
+│i │ ---- │
+│n │ --- │
+│g │ ---- │
+│ │ --- │
+│r │ ---- │
+│a │ --- │
+│t │ --- │
+│e │ --- │
+│ │ --- │
+│ │ ---- │
+│ │ --- │
+│ │ ---- │
+│ │ --- │
+│ │ ---- │
+│ │ --- │
+│ │ --- │
+│ │ --- │
+│ │ --- │
+│ │ ---- │
+│ │ --- │
+│ │ ---- │
+│ -2.00e-1│--- │
+├─────────┼────────────────────────────────────────────────────────────────────────────────────────────────────┤
+│ │0.00 3.99e+2│
+│ │ step │
+└─────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┘mlp_result's name: mlp_point
+(mlp moons_input) name: mlp_moons_input
File "test/training/moons_demo_parallel.expected", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/training/moons_demo_parallel.expected _build/default/test/training/moons_demo_parallel.exe.output
diff --git a/_build/default/test/training/moons_demo_parallel.expected b/_build/default/test/training/moons_demo_parallel.exe.output
index 3582111..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-15 12:48.12: Job failed: Failed: Build failed