Organisationsahrefsocannl397418 ()ubuntu-20.04-5.3_opam-2.3

ubuntu-20.04-5.3_opam-2.3

Link Copied
Code Copied

Logs

2025-05-22 20:00.59: New job: test ahrefs/ocannl https://github.com/ahrefs/ocannl.git#refs/heads/master (39741884b740497ac10065d5e464e6c70f9151f4) (linux-x86_64:ubuntu-20.04-5.3_opam-2.3)
Base: ocaml/opam:ubuntu-20.04-ocaml-5.3@sha256:b556a4c047d8b58d6832b1e4d9d72f2e657f9bebfa62f6169aa7f61ae05da6bd
Opam project build


To reproduce locally:


git clone --recursive "https://github.com/ahrefs/ocannl.git" -b "master" && cd "ocannl" && git reset --hard 39741884
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:ubuntu-20.04-ocaml-5.3@sha256:b556a4c047d8b58d6832b1e4d9d72f2e657f9bebfa62f6169aa7f61ae05da6bd
# ubuntu-20.04-5.3_opam-2.3
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam
RUN opam init --reinit -ni
RUN uname -rs && opam exec -- ocaml -version && opam --version
WORKDIR /src
RUN sudo chown opam /src
RUN cd ~/opam-repository && (git cat-file -e 2df846cb67d6f96ae4fced111519ff4ae27d19ae || git fetch origin master) && git reset -q --hard 2df846cb67d6f96ae4fced111519ff4ae27d19ae && 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.2 base-bigarray.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 cmdliner.1.3.0 conf-libffi.2.0.0 conf-pkg-config.4 cppo.1.8.0 csexp.1.5.2 ctypes.0.23.0 ctypes-foreign.0.23.0 dune.3.19.0 dune-configurator.3.19.0 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.8.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.5-1 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.0 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.0.3 ppx_enumerate.v0.17.0 ppx_expect.v0.17.2 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.0 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.0 ppx_minidebug.2.2.0 ppx_optcomp.v0.17.0 ppx_sexp_conv.v0.17.0 ppx_string.v0.17.0 ppx_variants_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.2 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.12.0 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-05-22 20:00.59: Using cache hint "ahrefs/ocannl-ocaml/opam:ubuntu-20.04-ocaml-5.3@sha256:b556a4c047d8b58d6832b1e4d9d72f2e657f9bebfa62f6169aa7f61ae05da6bd-ubuntu-20.04-5.3_opam-2.3-63d0fa7caba437c680f3f62d33f451da"
2025-05-22 20:00.59: Using OBuilder spec:
((from ocaml/opam:ubuntu-20.04-ocaml-5.3@sha256:b556a4c047d8b58d6832b1e4d9d72f2e657f9bebfa62f6169aa7f61ae05da6bd)
(comment ubuntu-20.04-5.3_opam-2.3)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
(run (shell "opam init --reinit -ni"))
(run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
(workdir /src)
(run (shell "sudo chown opam /src"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 2df846cb67d6f96ae4fced111519ff4ae27d19ae || git fetch origin master) && git reset -q --hard 2df846cb67d6f96ae4fced111519ff4ae27d19ae && 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.2 base-bigarray.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 cmdliner.1.3.0 conf-libffi.2.0.0 conf-pkg-config.4 cppo.1.8.0 csexp.1.5.2 ctypes.0.23.0 ctypes-foreign.0.23.0 dune.3.19.0 dune-configurator.3.19.0 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.8.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.5-1 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.0 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.0.3 ppx_enumerate.v0.17.0 ppx_expect.v0.17.2 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.0 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.0 ppx_minidebug.2.2.0 ppx_optcomp.v0.17.0 ppx_sexp_conv.v0.17.0 ppx_string.v0.17.0 ppx_variants_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.2 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.12.0 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-05-22 20:00.59: Waiting for resource in pool OCluster
2025-05-22 20:00.59: Waiting for worker…
2025-05-22 20:01.07: Got resource from pool OCluster
Building on bremusa.ocamllabs.io
HEAD is now at 9afb61d2 In progress / broken: Format -> PPrint migration first pass by Claude
HEAD is now at 39741884 Untested: convert remaining uses of Format except where printing Sexp values


(from ocaml/opam:ubuntu-20.04-ocaml-5.3@sha256:b556a4c047d8b58d6832b1e4d9d72f2e657f9bebfa62f6169aa7f61ae05da6bd)
2025-05-22 20:01.11 ---> using "44eca1e621c9d2ae5a7cb226bf9535627e9ad4eb1a4298fb05ee7eee3e942c25" from cache


/: (comment ubuntu-20.04-5.3_opam-2.3)


/: (user (uid 1000) (gid 1000))


/: (env CLICOLOR_FORCE 1)


/: (env OPAMCOLOR always)


/: (workdir /src)


/src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2025-05-22 20:01.11 ---> using "fa6bcd6b9c901a593f7b9d47c80af8d06da035f3432897bc320e3a051c19bc35" 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
[NOTE] The 'jobs' option was reset, its value was 31 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
opam option jobs=31 --global
Format upgrade done.


<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-05-22 20:01.11 ---> using "3ed00003605ea7bf8b9cf301a035a6c9a5062664f670f326408915fcc59a9187" from cache


/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 6.8.0-59-generic
The OCaml toplevel, version 5.3.0
2.3.0
2025-05-22 20:01.11 ---> using "62bcf27bafb9be53fe068d3f9224a78a299c16e5d45763b9fbdbf92e9947cc2a" from cache


/src: (workdir /src)


/src: (run (shell "sudo chown opam /src"))
2025-05-22 20:01.11 ---> using "18932cafbba93cc50c838b74db5bedd4bef29c1fd0ea06f40b9ce878c25e00c4" from cache


/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 2df846cb67d6f96ae4fced111519ff4ae27d19ae || git fetch origin master) && git reset -q --hard 2df846cb67d6f96ae4fced111519ff4ae27d19ae && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
* branch                  master     -> FETCH_HEAD
35eb2f107a..2df846cb67  master     -> origin/master
2df846cb67 Merge pull request #27910 from maiste/release-dune-3.19.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-05-22 20:02.15 ---> saved as "d6c36dbe48110760624ddf6d8110045dabf96c9991c0c00926de6c8dfa50f56c"


/src: (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))
2025-05-22 20:02.15 ---> saved as "f1c9c52cb306ccaf5de3fdeba9f8e563e75019bb5c6a81239df720ec43aa0169"


/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-05-22 20:02.23 ---> saved as "1335b8a4f3d1995e6d06d8d87de9ac8f10425b25346e172dbf2f8d7fad6409d1"


/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-05-22 20:02.24 ---> saved as "0d3117b48f33416a285fb64a2f45edccffc8dce341421397cf7d2a2e2d64f1f7"


/src: (env DEPS "angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.2 base-bigarray.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 cmdliner.1.3.0 conf-libffi.2.0.0 conf-pkg-config.4 cppo.1.8.0 csexp.1.5.2 ctypes.0.23.0 ctypes-foreign.0.23.0 dune.3.19.0 dune-configurator.3.19.0 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.8.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.5-1 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.0 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.0.3 ppx_enumerate.v0.17.0 ppx_expect.v0.17.2 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.0 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.0 ppx_minidebug.2.2.0 ppx_optcomp.v0.17.0 ppx_sexp_conv.v0.17.0 ppx_string.v0.17.0 ppx_variants_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.2 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.12.0 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"
- Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [128 kB]
- Get:2 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [4782 kB]
- Hit:3 http://archive.ubuntu.com/ubuntu focal InRelease
- Get:4 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [33.1 kB]
- Get:5 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [1308 kB]
- Get:6 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [4421 kB]
- Get:7 http://archive.ubuntu.com/ubuntu focal-updates InRelease [128 kB]
- Get:8 http://archive.ubuntu.com/ubuntu focal-backports InRelease [128 kB]
- Get:9 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [4911 kB]
- Get:10 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [1599 kB]
- Get:11 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [4979 kB]
- Fetched 22.4 MB in 3s (8696 kB/s)
- Reading package lists...
- 


<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[arrayjit.dev] synchronised (file:///src)
[neural_nets_lib.dev] synchronised (file:///src)


[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-config is already installed (current version is 3).
[NOTE] Package ocaml-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.0).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-nnp is already installed (current version is base).
[NOTE] Package base-effects is already installed (current version is base).
[NOTE] Package base-domains is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).


The following system packages will first need to be installed:
libffi-dev pkg-config


<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>


+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libffi-dev" "pkg-config"
- debconf: delaying package configuration, since apt-utils is not installed
- Selecting previously unselected package libglib2.0-0:amd64.
- (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 ... 14727 files and directories currently installed.)
- Preparing to unpack .../0-libglib2.0-0_2.64.6-1~ubuntu20.04.8_amd64.deb ...
- Unpacking libglib2.0-0:amd64 (2.64.6-1~ubuntu20.04.8) ...
- Selecting previously unselected package libglib2.0-data.
- Preparing to unpack .../1-libglib2.0-data_2.64.6-1~ubuntu20.04.8_all.deb ...
- Unpacking libglib2.0-data (2.64.6-1~ubuntu20.04.8) ...
- Selecting previously unselected package tzdata.
- Preparing to unpack .../2-tzdata_2025b-0ubuntu0.20.04_all.deb ...
- Unpacking tzdata (2025b-0ubuntu0.20.04) ...
- Selecting previously unselected package libicu66:amd64.
- Preparing to unpack .../3-libicu66_66.1-2ubuntu2.1_amd64.deb ...
- Unpacking libicu66:amd64 (66.1-2ubuntu2.1) ...
- Selecting previously unselected package libxml2:amd64.
- Preparing to unpack .../4-libxml2_2.9.10+dfsg-5ubuntu0.20.04.10_amd64.deb ...
- Unpacking libxml2:amd64 (2.9.10+dfsg-5ubuntu0.20.04.10) ...
- Selecting previously unselected package shared-mime-info.
- Preparing to unpack .../5-shared-mime-info_1.15-1_amd64.deb ...
- Unpacking shared-mime-info (1.15-1) ...
- Selecting previously unselected package xdg-user-dirs.
- Preparing to unpack .../6-xdg-user-dirs_0.17-2ubuntu1_amd64.deb ...
- Unpacking xdg-user-dirs (0.17-2ubuntu1) ...
- Selecting previously unselected package pkg-config.
- Preparing to unpack .../7-pkg-config_0.29.1-0ubuntu4_amd64.deb ...
- Unpacking pkg-config (0.29.1-0ubuntu4) ...
- Selecting previously unselected package libffi-dev:amd64.
- Preparing to unpack .../8-libffi-dev_3.3-4_amd64.deb ...
- Unpacking libffi-dev:amd64 (3.3-4) ...
- Setting up xdg-user-dirs (0.17-2ubuntu1) ...
- Setting up libglib2.0-0:amd64 (2.64.6-1~ubuntu20.04.8) ...
- No schema files found: doing nothing.
- Setting up libffi-dev:amd64 (3.3-4) ...
- Setting up tzdata (2025b-0ubuntu0.20.04) ...
- 
- Current default time zone: 'Europe/London'
- Local time is now:      Thu May 22 21:02:58 BST 2025.
- Universal Time is now:  Thu May 22 20:02:58 UTC 2025.
- Run 'dpkg-reconfigure tzdata' if you wish to change it.
- 
- Setting up libglib2.0-data (2.64.6-1~ubuntu20.04.8) ...
- Setting up pkg-config (0.29.1-0ubuntu4) ...
- Setting up libicu66:amd64 (66.1-2ubuntu2.1) ...
- Setting up libxml2:amd64 (2.9.10+dfsg-5ubuntu0.20.04.10) ...
- Setting up shared-mime-info (1.15-1) ...
- Processing triggers for libc-bin (2.31-0ubuntu9.17) ...
2025-05-22 20:02.59 ---> saved as "dd67a37b1465de793a1f41a78919358a420aad343b6365adfa1050bc67c893e6"


/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 75 packages
- install angstrom                0.16.1
- install astring                 0.8.5
- install backoff                 0.1.1
- install base                    v0.17.2
- install bigarray-compat         1.1.0
- install bigstringaf             0.10.0
- install camlp-streams           5.0.1
- install cmdliner                1.3.0
- install conf-libffi             2.0.0
- install conf-pkg-config         4
- install cppo                    1.8.0
- install csexp                   1.5.2
- install ctypes                  0.23.0
- install ctypes-foreign          0.23.0
- install dune                    3.19.0
- install dune-configurator       3.19.0
- 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.8.0
- install mdx                     2.5.0
- install mtime                   2.1.0
- install multicore-magic         2.3.1
- install num                     1.5-1
- install ocaml-compiler-libs     v0.17.0
- install ocaml-syntax-shims      1.0.0
- install ocaml-version           4.0.0
- 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.0.3
- install ppx_enumerate           v0.17.0
- install ppx_expect              v0.17.2
- install ppx_fields_conv         v0.17.0
- install ppx_globalize           v0.17.0
- install ppx_hash                v0.17.0
- install ppx_here                v0.17.0
- install ppx_inline_test         v0.17.0
- install ppx_minidebug           2.2.0
- install ppx_optcomp             v0.17.0
- install ppx_sexp_conv           v0.17.0
- install ppx_string              v0.17.0
- install ppx_variants_conv       v0.17.0
- install ppxlib                  0.35.0
- install ppxlib_jane             v0.17.2
- 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.12.0
- 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 bigstringaf.0.10.0  (cached)
-> retrieved base.v0.17.2  (cached)
-> retrieved camlp-streams.5.0.1  (cached)
-> retrieved cmdliner.1.3.0  (cached)
-> retrieved cppo.1.8.0  (cached)
-> installed conf-pkg-config.4
-> retrieved csexp.1.5.2  (cached)
-> retrieved ctypes.0.23.0, ctypes-foreign.0.23.0  (cached)
-> installed conf-libffi.2.0.0
-> retrieved fieldslib.v0.17.0  (cached)
-> retrieved fmt.0.10.0  (cached)
-> retrieved integers.0.7.0  (cached)
-> retrieved jane-street-headers.v0.17.0  (cached)
-> retrieved jst-config.v0.17.0  (cached)
-> retrieved logs.0.8.0  (cached)
-> retrieved mtime.2.1.0  (cached)
-> retrieved mdx.2.5.0  (cached)
-> retrieved multicore-magic.2.3.1  (cached)
-> retrieved num.1.5-1  (cached)
-> retrieved ocaml-compiler-libs.v0.17.0  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved ocaml-version.4.0.0  (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved parsexp.v0.17.0  (cached)
-> retrieved pprint.20230830  (cached)
-> retrieved ppx_assert.v0.17.0  (cached)
-> retrieved ppx_base.v0.17.0  (cached)
-> retrieved ppx_cold.v0.17.0  (cached)
-> retrieved ppx_compare.v0.17.0  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved ppx_enumerate.v0.17.0  (cached)
-> retrieved ppx_deriving.6.0.3  (cached)
-> retrieved ppx_expect.v0.17.2  (cached)
-> retrieved ppx_fields_conv.v0.17.0  (cached)
-> retrieved ppx_globalize.v0.17.0  (cached)
-> retrieved ppx_here.v0.17.0  (cached)
-> retrieved dune.3.19.0, dune-configurator.3.19.0  (cached)
-> retrieved ppx_hash.v0.17.0  (cached)
-> retrieved ppx_inline_test.v0.17.0  (cached)
-> retrieved ppx_minidebug.2.2.0  (cached)
-> retrieved ppx_optcomp.v0.17.0  (cached)
-> retrieved ppx_sexp_conv.v0.17.0  (cached)
-> retrieved ppx_string.v0.17.0  (cached)
-> retrieved ppx_variants_conv.v0.17.0  (cached)
-> installed cmdliner.1.3.0
-> installed num.1.5-1
-> retrieved ppxlib_jane.v0.17.2  (cached)
-> retrieved ptime.1.2.0  (cached)
-> retrieved re.1.12.0  (cached)
-> retrieved result.1.5  (cached)
-> retrieved saturn_lockfree.0.5.0  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> retrieved sexplib.v0.17.0  (cached)
-> retrieved sexplib0.v0.17.0  (cached)
-> retrieved stdio.v0.17.0  (cached)
-> retrieved ppxlib.0.35.0  (cached)
-> retrieved stdlib-shims.0.3.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 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 ocamlbuild.0.16.1
-> installed ocamlfind.1.9.8
-> 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.8.0
-> installed dune.3.19.0
-> installed jane-street-headers.v0.17.0
-> installed csexp.1.5.2
-> installed backoff.0.1.1
-> installed bigarray-compat.1.1.0
-> installed camlp-streams.5.0.1
-> installed multicore-magic.2.3.1
-> installed ocaml-version.4.0.0
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed pprint.20230830
-> installed ppx_derivers.1.2.1
-> installed printbox.0.12
-> installed result.1.5
-> installed sexplib0.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed thread-local-storage.0.2
-> installed ocaml-syntax-shims.1.0.0
-> installed re.1.12.0
-> installed cppo.1.8.0
-> installed ocaml-compiler-libs.v0.17.0
-> installed integers.0.7.0
-> installed saturn_lockfree.0.5.0
-> installed dune-configurator.3.19.0
-> installed parsexp.v0.17.0
-> installed bigstringaf.0.10.0
-> installed sexplib.v0.17.0
-> installed angstrom.0.16.1
-> installed mdx.2.5.0
-> installed tyxml.4.6.0
-> installed printbox-html.0.12
-> installed ctypes.0.23.0
-> installed uucp.16.0.0
-> installed printbox-text.0.12
-> installed printbox-md.0.12
-> installed printbox-ext-plot.0.12
-> installed base.v0.17.2
-> installed ctypes-foreign.0.23.0
-> installed variantslib.v0.17.0
-> installed fieldslib.v0.17.0
-> installed stdio.v0.17.0
-> installed ppxlib.0.35.0
-> installed ppxlib_jane.v0.17.2
-> installed ppx_optcomp.v0.17.0
-> installed ppx_cold.v0.17.0
-> installed ppx_here.v0.17.0
-> installed ppx_variants_conv.v0.17.0
-> installed ppx_fields_conv.v0.17.0
-> installed ppx_deriving.6.0.3
-> installed ppx_enumerate.v0.17.0
-> installed ppx_globalize.v0.17.0
-> installed ppx_compare.v0.17.0
-> installed ppx_sexp_conv.v0.17.0
-> installed ppx_hash.v0.17.0
-> installed ppx_assert.v0.17.0
-> installed ppx_base.v0.17.0
-> installed ppx_minidebug.2.2.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.0
-> installed ppx_expect.v0.17.2
Done.
# To update the current shell environment, run: eval $(opam env)
2025-05-22 20:05.30 ---> saved as "bf02192f63ce0e85d38025d89710604ba5b0e93cf52f74ee5bfd536dfe03f191"


/src: (copy (src .) (dst /src))
2025-05-22 20:05.31 ---> saved as "182bf48f7b94135f44252692410ac59e96cf6b7d632f9912440822e745b4a1db"


/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
(cd _build/default/test/config && ../../arrayjit/bin/read_config.exe --read=backend)


Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/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
(cd _build/default/test_ppx && ./test_ppx_op_expected.exe)


Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test_ppx/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/default/test_ppx && ./test_ppx_op.exe)


Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test_ppx/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/5aa3176835297a281f18d244176267d7/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition 'Found 0, in the config file' -source-tree-root .. -diff-cmd -)


Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/5aa3176835297a281f18d244176267d7/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/5aa3176835297a281f18d244176267d7/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition 'Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/8aa40689619c84d5fd6098c501204945/default/test/ocannl_config.' -source-tree-root .. -diff-cmd -)


Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/5aa3176835297a281f18d244176267d7/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/5aa3176835297a281f18d244176267d7/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner 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/5aa3176835297a281f18d244176267d7/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/5aa3176835297a281f18d244176267d7/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition '' -source-tree-root .. -diff-cmd -)


Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/5aa3176835297a281f18d244176267d7/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/dune", lines 30-40, characters 0-281:
30 | (rule
31 |  (alias runtest)
32 |  (target
33 |   (dir log_files))
34 |  (action
35 |   (run
36 |    %{dep:micrograd_demo_logging.exe}
37 |    "--ocannl_debug_backend=text"
38 |    "--ocannl_log_file_stem=micrograd_demo_logging"
39 |    "--ocannl_log_main_domain_to_stdout=false"
40 |    "--ocannl_debug_log_to_stream_files=true")))
(cd _build/default/test && ./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/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_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
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 144-172, characters 31-82
Called from Backends.Raise_backend.link in file "arrayjit/lib/backends.ml", lines 454-455, characters 4-92
Re-raised at Backends.Raise_backend.link in file "arrayjit/lib/backends.ml", lines 441-455, characters 23-92
Called from Dune__exe__Micrograd_demo_logging in file "test/micrograd_demo_logging.ml", line 34, characters 13-77
(cd _build/.sandbox/5aa3176835297a281f18d244176267d7/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition primitive_ops.ml -source-tree-root .. -diff-cmd -)


Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/5aa3176835297a281f18d244176267d7/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/5aa3176835297a281f18d244176267d7/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition zero2hero_1of7.ml -source-tree-root .. -diff-cmd -)


Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/5aa3176835297a281f18d244176267d7/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/5aa3176835297a281f18d244176267d7/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition hello_world_op.ml -source-tree-root .. -diff-cmd -)


Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/5aa3176835297a281f18d244176267d7/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/5aa3176835297a281f18d244176267d7/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition einsum_trivia.ml -source-tree-root .. -diff-cmd -)


Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/5aa3176835297a281f18d244176267d7/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/5aa3176835297a281f18d244176267d7/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition micrograd_demo.ml -source-tree-root .. -diff-cmd -)


Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/5aa3176835297a281f18d244176267d7/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/5aa3176835297a281f18d244176267d7/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition moons_demo_parallel.ml -source-tree-root .. -diff-cmd -)


Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/5aa3176835297a281f18d244176267d7/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/micrograd_demo.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/micrograd_demo.ml _build/.sandbox/5aa3176835297a281f18d244176267d7/default/test/micrograd_demo.ml.corrected
diff --git a/_build/default/test/micrograd_demo.ml b/_build/.sandbox/5aa3176835297a281f18d244176267d7/default/test/micrograd_demo.ml.corrected
index 77e46c6..ab81526 100644
--- a/_build/default/test/micrograd_demo.ml
+++ b/_build/.sandbox/5aa3176835297a281f18d244176267d7/default/test/micrograd_demo.ml.corrected
@@ -52,15 +52,14 @@ let%expect_test "Micrograd README basic example" =
│├┼───────┤       │
│││ -4.00 │       │
│└┴───────┘       │
-    └─────────────────┘
-    ┌────────────────────────┐
-                                                              │[0]: a shape 0:1  grad_a│
-                                                              │┌┬─────────┐            │
-                                                              │││axis 0   │            │
-                                                              │├┼─────────┤            │
-                                                              │││ 1.38e+2 │            │
-                                                              │└┴─────────┘            │
-                                                              └────────────────────────┘
+    └─────────────────┘┌────────────────────────┐
+    │[0]: a shape 0:1  grad_a│
+    │┌┬─────────┐            │
+    │││axis 0   │            │
+    │├┼─────────┤            │
+    │││ 1.38e+2 │            │
+    │└┴─────────┘            │
+    └────────────────────────┘
|}];
Tensor.print ~with_code:false ~with_grad:true `Default b;
[%expect
@@ -72,15 +71,14 @@ let%expect_test "Micrograd README basic example" =
│├┼──────┤        │
│││ 2.00 │        │
│└┴──────┘        │
-    └─────────────────┘
-    ┌────────────────────────┐
-                                                              │[2]: b shape 0:1  grad_b│
-                                                              │┌┬─────────┐            │
-                                                              │││axis 0   │            │
-                                                              │├┼─────────┤            │
-                                                              │││ 6.45e+2 │            │
-                                                              │└┴─────────┘            │
-                                                              └────────────────────────┘
+    └─────────────────┘┌────────────────────────┐
+    │[2]: b shape 0:1  grad_b│
+    │┌┬─────────┐            │
+    │││axis 0   │            │
+    │├┼─────────┤            │
+    │││ 6.45e+2 │            │
+    │└┴─────────┘            │
+    └────────────────────────┘
|}]


let%expect_test "Micrograd half-moons example" =
File "test/hello_world_op.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/hello_world_op.ml _build/.sandbox/5aa3176835297a281f18d244176267d7/default/test/hello_world_op.ml.corrected
diff --git a/_build/default/test/hello_world_op.ml b/_build/.sandbox/5aa3176835297a281f18d244176267d7/default/test/hello_world_op.ml.corrected
index ba9d7ef..6bfa309 100644
--- a/_build/default/test/hello_world_op.ml
+++ b/_build/.sandbox/5aa3176835297a281f18d244176267d7/default/test/hello_world_op.ml.corrected
@@ -102,36 +102,46 @@ let%expect_test "Print constant tensor" =
let%op hey = [ (1, 2, 3); (4, 5, 6) ] in
Train.forward_and_forget backend ctx hey;
Tensor.print ~with_code:false ~with_grad:false `Inline @@ hey;
-  [%expect {| [1.00, 2.00, 3.00; 4.00, 5.00, 6.00] |}];
+  [%expect {|
+    [0]: [  1.00 , 2.00 , 3.00  ;  4.00 , 5.00 , 6.00  ]_hey shape 1:3->0:2  [
+       1.00 , 2.00 , 3.00
+      ;  4.00 , 5.00 , 6.00
+    ]
+    |}];
Tensor.print ~with_code:false ~with_grad:false `Default @@ hey;
[%expect
{|
-    ┌─────────────────────────────────────────────────────────────┐
-    │[0]: [1.00, 2.00, 3.00; 4.00, 5.00, 6.00]_hey shape 1:3->0:2 │
-    │┌──────┬──────────────────┐                                  │
-    ││      │axis 1            │                                  │
-    │├──────┼──────────────────┤                                  │
-    ││axis 0│ 1.00  2.00  3.00 │                                  │
-    ││      │ 4.00  5.00  6.00 │                                  │
-    │└──────┴──────────────────┘                                  │
-    └─────────────────────────────────────────────────────────────┘
+    ┌────────────────────────────────────────────────────────────────────────┐
+    │[0]: [  1.00 , 2.00 , 3.00  ;  4.00 , 5.00 , 6.00  ]_hey shape 1:3->0:2 │
+    │┌──────┬──────────────────┐                                             │
+    ││      │axis 1            │                                             │
+    │├──────┼──────────────────┤                                             │
+    ││axis 0│ 1.00  2.00  3.00 │                                             │
+    ││      │ 4.00  5.00  6.00 │                                             │
+    │└──────┴──────────────────┘                                             │
+    └────────────────────────────────────────────────────────────────────────┘
|}];
let%op hoo = [| [ 1; 2; 3 ]; [ 4; 5; 6 ] |] in
Train.forward_and_forget backend ctx hoo;
Tensor.print ~with_code:false ~with_grad:false `Inline @@ hoo;
-  [%expect {| [|[1.00; 2.00; 3.00]; [4.00; 5.00; 6.00]|] |}];
+  [%expect {|
+    [1]: [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]_hoo shape 0:2|1:3  [|
+      [ 1.00 ; 2.00 ; 3.00 ]
+      ; [ 4.00 ; 5.00 ; 6.00 ]
+    |]
+    |}];
Tensor.print ~with_code:false ~with_grad:false `Default @@ hoo;
[%expect
{|
-    ┌──────────────────────────────────────────────────────────────────┐
-    │[1]: [|[1.00; 2.00; 3.00]; [4.00; 5.00; 6.00]|]_hoo shape 0:2|1:3 │
-    │┌──────┬──────────────────┐                                       │
-    ││      │axis 1            │                                       │
-    │├──────┼──────────────────┤                                       │
-    ││axis 0│ 1.00  2.00  3.00 │                                       │
-    ││      │ 4.00  5.00  6.00 │                                       │
-    │└──────┴──────────────────┘                                       │
-    └──────────────────────────────────────────────────────────────────┘
+    ┌─────────────────────────────────────────────────────────────────────────────┐
+    │[1]: [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]_hoo shape 0:2|1:3 │
+    │┌──────┬──────────────────┐                                                  │
+    ││      │axis 1            │                                                  │
+    │├──────┼──────────────────┤                                                  │
+    ││axis 0│ 1.00  2.00  3.00 │                                                  │
+    ││      │ 4.00  5.00  6.00 │                                                  │
+    │└──────┴──────────────────┘                                                  │
+    └─────────────────────────────────────────────────────────────────────────────┘
|}];
let%op hey2 =
[
@@ -145,10 +155,12 @@ let%expect_test "Print constant tensor" =
Tensor.print ~with_code:false ~with_grad:false `Inline @@ hey2;
[%expect
{|
-    [(1.00, 2.00, 3.00), (4.00, 5.00, 6.00);
-      (7.00, 8.00, 9.00), (10.00, 11.00, 12.00);
-      (13.00, 14.00, 15.00), (16.00, 17.00, 18.00);
-      (19.00, 20.00, 21.00), (22.00, 23.00, 24.00)]
+    [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 )
+      ;  ( 13.00 , 14.00 , 15.00 ) , ( 16.00 , 17.00 , 18.00 )
+      ;  ( 19.00 , 20.00 , 21.00 ) , ( 22.00 , 23.00 , 24.00 )
+    ]
|}];
Tensor.print ~with_code:false ~with_grad:false `Default @@ hey2;
[%expect
@@ -178,10 +190,12 @@ let%expect_test "Print constant tensor" =
Tensor.print ~with_code:false ~with_grad:false `Inline @@ hoo2;
[%expect
{|
-    [|[[1.00; 2.00; 3.00]; [4.00; 5.00; 6.00]];
-      [[7.00; 8.00; 9.00]; [10.00; 11.00; 12.00]];
-      [[13.00; 14.00; 15.00]; [16.00; 17.00; 18.00]];
-      [[19.00; 20.00; 21.00]; [22.00; 23.00; 24.00]]|]
+    [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 ] ]
+      ; [ [ 13.00 ; 14.00 ; 15.00 ] ; [ 16.00 ; 17.00 ; 18.00 ] ]
+      ; [ [ 19.00 ; 20.00 ; 21.00 ] ; [ 22.00 ; 23.00 ; 24.00 ] ]
+    |]
|}];
Tensor.print ~with_code:false ~with_grad:false `Default @@ hoo2;
[%expect
@@ -209,10 +223,12 @@ let%expect_test "Print constant tensor" =
Tensor.print ~with_code:false ~with_grad:false `Inline @@ heyhoo;
[%expect
{|
-    [|[|[1.00; 2.00; 3.00]; [4.00; 5.00; 6.00]|];
-      [|[7.00; 8.00; 9.00]; [10.00; 11.00; 12.00]|];
-      [|[13.00; 14.00; 15.00]; [16.00; 17.00; 18.00]|];
-      [|[19.00; 20.00; 21.00]; [22.00; 23.00; 24.00]|]|]
+    [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 ] |]
+      ; [| [ 13.00 ; 14.00 ; 15.00 ] ; [ 16.00 ; 17.00 ; 18.00 ] |]
+      ; [| [ 19.00 ; 20.00 ; 21.00 ] ; [ 22.00 ; 23.00 ; 24.00 ] |]
+    |]
|}];
Tensor.print ~with_code:false ~with_grad:false `Default @@ heyhoo;
[%expect
@@ -240,15 +256,24 @@ let%expect_test "Print constant tensor" =
Tensor.print ~with_code:false ~with_grad:false `Inline @@ heyhoo2;
[%expect
{|
-    [|
-      [|[[1.00; 31.00]; [2.00; 32.00]; [3.00; 33.00]];
-        [[4.00; 34.00]; [5.00; 35.00]; [6.00; 36.00]]|];
-      [|[[7.00; 37.00]; [8.00; 38.00]; [9.00; 39.00]];
-        [[10.00; 40.00]; [11.00; 41.00]; [12.00; 42.00]]|];
-      [|[[13.00; 43.00]; [14.00; 44.00]; [15.00; 45.00]];
-        [[16.00; 46.00]; [17.00; 47.00]; [18.00; 48.00]]|];
-      [|[[19.00; 49.00]; [20.00; 50.00]; [21.00; 51.00]];
-        [[22.00; 52.00]; [23.00; 53.00]; [24.00; 54.00]]|]|]
+    [5]: c4x2x3x2_heyhoo2 shape 0:4,1:2|2:3,3:2  [|
+      [|
+        [ [ 1.00 ; 31.00 ] ; [ 2.00 ; 32.00 ] ; [ 3.00 ; 33.00 ] ]
+        ; [ [ 4.00 ; 34.00 ] ; [ 5.00 ; 35.00 ] ; [ 6.00 ; 36.00 ] ]
+      |]
+      ; [|
+        [ [ 7.00 ; 37.00 ] ; [ 8.00 ; 38.00 ] ; [ 9.00 ; 39.00 ] ]
+        ; [ [ 10.00 ; 40.00 ] ; [ 11.00 ; 41.00 ] ; [ 12.00 ; 42.00 ] ]
+      |]
+      ; [|
+        [ [ 13.00 ; 43.00 ] ; [ 14.00 ; 44.00 ] ; [ 15.00 ; 45.00 ] ]
+        ; [ [ 16.00 ; 46.00 ] ; [ 17.00 ; 47.00 ] ; [ 18.00 ; 48.00 ] ]
+      |]
+      ; [|
+        [ [ 19.00 ; 49.00 ] ; [ 20.00 ; 50.00 ] ; [ 21.00 ; 51.00 ] ]
+        ; [ [ 22.00 ; 52.00 ] ; [ 23.00 ; 53.00 ] ; [ 24.00 ; 54.00 ] ]
+      |]
+    |]
|}];
Tensor.print ~with_code:false ~with_grad:false `Default @@ heyhoo2;
[%expect
@@ -293,17 +318,28 @@ let%expect_test "Print constant tensor" =
Tensor.print ~with_code:false ~with_grad:false `Inline @@ heyhoo3;
[%expect
{|
-    [|
+    [6]: c2x2x2x3x2_heyhoo3 shape 0:2,1:2|2:2,3:3,4:2  [|
[|
-        [[[1.00; 31.00]; [2.00; 32.00]; [3.00; 33.00]];
-          [[4.00; 34.00]; [5.00; 35.00]; [6.00; 36.00]]];
-        [[[7.00; 37.00]; [8.00; 38.00]; [9.00; 39.00]];
-          [[10.00; 40.00]; [11.00; 41.00]; [12.00; 42.00]]]|];
-      [|
-        [[[13.00; 43.00]; [14.00; 44.00]; [15.00; 45.00]];
-          [[16.00; 46.00]; [17.00; 47.00]; [18.00; 48.00]]];
-        [[[19.00; 49.00]; [20.00; 50.00]; [21.00; 51.00]];
-          [[22.00; 52.00]; [23.00; 53.00]; [24.00; 54.00]]]|]|]
+        [
+          [ [ 1.00 ; 31.00 ] ; [ 2.00 ; 32.00 ] ; [ 3.00 ; 33.00 ] ]
+          ; [ [ 4.00 ; 34.00 ] ; [ 5.00 ; 35.00 ] ; [ 6.00 ; 36.00 ] ]
+        ]
+        ; [
+          [ [ 7.00 ; 37.00 ] ; [ 8.00 ; 38.00 ] ; [ 9.00 ; 39.00 ] ]
+          ; [ [ 10.00 ; 40.00 ] ; [ 11.00 ; 41.00 ] ; [ 12.00 ; 42.00 ] ]
+        ]
+      |]
+      ; [|
+        [
+          [ [ 13.00 ; 43.00 ] ; [ 14.00 ; 44.00 ] ; [ 15.00 ; 45.00 ] ]
+          ; [ [ 16.00 ; 46.00 ] ; [ 17.00 ; 47.00 ] ; [ 18.00 ; 48.00 ] ]
+        ]
+        ; [
+          [ [ 19.00 ; 49.00 ] ; [ 20.00 ; 50.00 ] ; [ 21.00 ; 51.00 ] ]
+          ; [ [ 22.00 ; 52.00 ] ; [ 23.00 ; 53.00 ] ; [ 24.00 ; 54.00 ] ]
+        ]
+      |]
+    |]
|}];
Tensor.print ~with_code:false ~with_grad:false `Default @@ heyhoo3;
[%expect
@@ -353,17 +389,28 @@ let%expect_test "Print constant tensor" =
Tensor.print ~with_code:false ~with_grad:false `Inline @@ heyhoo4;
[%expect
{|
-    [|
-      [
-        [[1.00, 31.00; 2.00, 32.00; 3.00, 33.00];
-          [4.00, 34.00; 5.00, 35.00; 6.00, 36.00]];
-        [[7.00, 37.00; 8.00, 38.00; 9.00, 39.00];
-          [10.00, 40.00; 11.00, 41.00; 12.00, 42.00]]];
+    [7]: c2x2x2x3x2_heyhoo4 shape 0:2|4:2->1:2,2:2,3:3  [|
[
-        [[13.00, 43.00; 14.00, 44.00; 15.00, 45.00];
-          [16.00, 46.00; 17.00, 47.00; 18.00, 48.00]];
-        [[19.00, 49.00; 20.00, 50.00; 21.00, 51.00];
-          [22.00, 52.00; 23.00, 53.00; 24.00, 54.00]]]|]
+        [
+          [  1.00 , 31.00  ;  2.00 , 32.00  ;  3.00 , 33.00  ]
+          ; [  4.00 , 34.00  ;  5.00 , 35.00  ;  6.00 , 36.00  ]
+        ]
+        ; [
+          [  7.00 , 37.00  ;  8.00 , 38.00  ;  9.00 , 39.00  ]
+          ; [  10.00 , 40.00  ;  11.00 , 41.00  ;  12.00 , 42.00  ]
+        ]
+      ]
+      ; [
+        [
+          [  13.00 , 43.00  ;  14.00 , 44.00  ;  15.00 , 45.00  ]
+          ; [  16.00 , 46.00  ;  17.00 , 47.00  ;  18.00 , 48.00  ]
+        ]
+        ; [
+          [  19.00 , 49.00  ;  20.00 , 50.00  ;  21.00 , 51.00  ]
+          ; [  22.00 , 52.00  ;  23.00 , 53.00  ;  24.00 , 54.00  ]
+        ]
+      ]
+    |]
|}];
Tensor.print ~with_code:false ~with_grad:false `Default @@ heyhoo4;
[%expect
@@ -462,8 +509,29 @@ let%expect_test "Big matrix" =
Tensor.print ~with_code:false ~with_grad:false `Inline zero_to_twenty;
[%expect
{|
-    [0.00; 1.00; 2.00; 3.00; 4.00; 5.00; 6.00; 7.00; 8.00; 9.00; 10.00; 11.00;
-      12.00; 13.00; 14.00; 15.00; 16.00; 17.00; 18.00; 19.00; 20.00]
+    [2]: 0...20 shape 0:21  [
+      0.00
+      ; 1.00
+      ; 2.00
+      ; 3.00
+      ; 4.00
+      ; 5.00
+      ; 6.00
+      ; 7.00
+      ; 8.00
+      ; 9.00
+      ; 10.00
+      ; 11.00
+      ; 12.00
+      ; 13.00
+      ; 14.00
+      ; 15.00
+      ; 16.00
+      ; 17.00
+      ; 18.00
+      ; 19.00
+      ; 20.00
+    ]
|}];
Tensor.print ~with_code:false ~with_grad:false `Default zero_to_twenty;
[%expect
(cd _build/default/test && ./moons_demo_parallel_run.exe)


Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
("Set log_level to" 1)
└─{orphaned from #2}
Retrieving commandline, environment, or config file variable ocannl_backend
Found multicore_cc, in the config file
Properties of devices:
(multicore_devices
(device ((device_name CPU) (device_ordinal 0) (num_domains 72))))
@!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
Not found, using default false
Retrieving commandline, environment, or config file variable ocannl_ll_ident_style
Not found, using default heuristic
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_never_capture_stdout
Not found, using default false
Batch=59, step=60, lr=0.200000, batch loss=23.609453, epoch loss=23.609453
Batch=119, step=120, lr=0.199750, batch loss=8.539634, epoch loss=32.149087
Batch=179, step=180, lr=0.199250, batch loss=2.626295, epoch loss=34.775382
Batch=239, step=240, lr=0.199250, batch loss=0.851101, epoch loss=35.626483
Batch=299, step=300, lr=0.198750, batch loss=1.445322, epoch loss=37.071804
Batch=359, step=360, lr=0.198750, batch loss=1.329270, epoch loss=38.401074
Batch=419, step=420, lr=0.198250, batch loss=0.619113, epoch loss=39.020187
Batch=479, step=480, lr=0.198250, batch loss=0.821473, epoch loss=39.841661
Batch=539, step=540, lr=0.197750, batch loss=0.692170, epoch loss=40.533830
Batch=599, step=600, lr=0.197750, batch loss=1.062050, epoch loss=41.595880
Batch=659, step=660, lr=0.197500, batch loss=0.483802, epoch loss=42.079683
Batch=719, step=720, lr=0.197000, batch loss=0.411452, epoch loss=42.491135
Batch=779, step=780, lr=0.196750, batch loss=0.470118, epoch loss=42.961253
Batch=839, step=840, lr=0.196750, batch loss=0.447004, epoch loss=43.408257
Batch=899, step=900, lr=0.196500, batch loss=0.382884, epoch loss=43.791141
Batch=959, step=960, lr=0.196250, batch loss=0.244871, epoch loss=44.036012
Batch=1019, step=1020, lr=0.196000, batch loss=0.467524, epoch loss=44.503536
Batch=1079, step=1080, lr=0.195750, batch loss=0.248282, epoch loss=44.751817
Batch=1139, step=1140, lr=0.195250, batch loss=0.318194, epoch loss=45.070011
Batch=1199, step=1200, lr=0.195250, batch loss=0.263657, epoch loss=45.333668
Epoch=0, step=1200, lr=0.195250, epoch loss=45.333668
Batch=59, step=1260, lr=0.195000, batch loss=0.262113, epoch loss=0.262113
Batch=119, step=1320, lr=0.194750, batch loss=0.205542, epoch loss=0.467655
Batch=179, step=1380, lr=0.194250, batch loss=0.243668, epoch loss=0.711323
Batch=239, step=1440, lr=0.194250, batch loss=0.347657, epoch loss=1.058980
Batch=299, step=1500, lr=0.193750, batch loss=0.247920, epoch loss=1.306900
Batch=359, step=1560, lr=0.193750, batch loss=0.316089, epoch loss=1.622989
Batch=419, step=1620, lr=0.193250, batch loss=0.309265, epoch loss=1.932254
Batch=479, step=1680, lr=0.193250, batch loss=0.274794, epoch loss=2.207048
Batch=539, step=1740, lr=0.193000, batch loss=0.210585, epoch loss=2.417633
Batch=599, step=1800, lr=0.192500, batch loss=0.251627, epoch loss=2.669261
Batch=659, step=1860, lr=0.192250, batch loss=0.367021, epoch loss=3.036281
Batch=719, step=1920, lr=0.192250, batch loss=0.355884, epoch loss=3.392165
Batch=779, step=1980, lr=0.192000, batch loss=0.381214, epoch loss=3.773379
Batch=839, step=2040, lr=0.191750, batch loss=0.340232, epoch loss=4.113611
Batch=899, step=2100, lr=0.191250, batch loss=0.294991, epoch loss=4.408602
Batch=959, step=2160, lr=0.191000, batch loss=0.214110, epoch loss=4.622712
Batch=1019, step=2220, lr=0.190750, batch loss=0.330370, epoch loss=4.953081
Batch=1079, step=2280, lr=0.190750, batch loss=0.195268, epoch loss=5.148349
Batch=1139, step=2340, lr=0.190250, batch loss=0.261527, epoch loss=5.409876
Batch=1199, step=2400, lr=0.190000, batch loss=0.210712, epoch loss=5.620588
Epoch=1, step=2400, lr=0.190000, epoch loss=5.620588
Batch=59, step=2460, lr=0.190000, batch loss=0.232968, epoch loss=0.232968
Batch=119, step=2520, lr=0.189750, batch loss=0.196499, epoch loss=0.429467
Batch=179, step=2580, lr=0.189250, batch loss=0.219438, epoch loss=0.648905
Batch=239, step=2640, lr=0.189000, batch loss=0.326617, epoch loss=0.975522
Batch=299, step=2700, lr=0.188750, batch loss=0.205370, epoch loss=1.180892
Batch=359, step=2760, lr=0.188500, batch loss=0.289967, epoch loss=1.470859
Batch=419, step=2820, lr=0.188250, batch loss=0.280594, epoch loss=1.751453
Batch=479, step=2880, lr=0.188000, batch loss=0.254257, epoch loss=2.005710
Batch=539, step=2940, lr=0.188000, batch loss=0.196640, epoch loss=2.202350
Batch=599, step=3000, lr=0.187750, batch loss=0.243846, epoch loss=2.446196
Batch=659, step=3060, lr=0.187500, batch loss=0.347221, epoch loss=2.793417
Batch=719, step=3120, lr=0.187250, batch loss=0.347716, epoch loss=3.141133
Batch=779, step=3180, lr=0.187000, batch loss=0.362477, epoch loss=3.503611
Batch=839, step=3240, lr=0.186750, batch loss=0.324324, epoch loss=3.827934
Batch=899, step=3300, lr=0.186250, batch loss=0.293963, epoch loss=4.121897
Batch=959, step=3360, lr=0.186250, batch loss=0.227958, epoch loss=4.349855
Batch=1019, step=3420, lr=0.186000, batch loss=0.345870, epoch loss=4.695724
Batch=1079, step=3480, lr=0.185500, batch loss=0.225430, epoch loss=4.921154
Batch=1139, step=3540, lr=0.185250, batch loss=0.266297, epoch loss=5.187451
Batch=1199, step=3600, lr=0.185000, batch loss=0.198848, epoch loss=5.386300
Epoch=2, step=3600, lr=0.185000, epoch loss=5.386300
Batch=59, step=3660, lr=0.185000, batch loss=0.225904, epoch loss=0.225904
Batch=119, step=3720, lr=0.184750, batch loss=0.187041, epoch loss=0.412945
Batch=179, step=3780, lr=0.184250, batch loss=0.212470, epoch loss=0.625415
Batch=239, step=3840, lr=0.184250, batch loss=0.316417, epoch loss=0.941832
Batch=299, step=3900, lr=0.183750, batch loss=0.204071, epoch loss=1.145903
Batch=359, step=3960, lr=0.183750, batch loss=0.288373, epoch loss=1.434276
Batch=419, step=4020, lr=0.183250, batch loss=0.274011, epoch loss=1.708287
Batch=479, step=4080, lr=0.183250, batch loss=0.260375, epoch loss=1.968662
Batch=539, step=4140, lr=0.182750, batch loss=0.194299, epoch loss=2.162961
Batch=599, step=4200, lr=0.182500, batch loss=0.230414, epoch loss=2.393375
Batch=659, step=4260, lr=0.182250, batch loss=0.337150, epoch loss=2.730525
Batch=719, step=4320, lr=0.182250, batch loss=0.341229, epoch loss=3.071754
Batch=779, step=4380, lr=0.182000, batch loss=0.351890, epoch loss=3.423644
Batch=839, step=4440, lr=0.181500, batch loss=0.315814, epoch loss=3.739458
Batch=899, step=4500, lr=0.181500, batch loss=0.284607, epoch loss=4.024066
Batch=959, step=4560, lr=0.181000, batch loss=0.236962, epoch loss=4.261028
Batch=1019, step=4620, lr=0.181000, batch loss=0.336497, epoch loss=4.597525
Batch=1079, step=4680, lr=0.180500, batch loss=0.205431, epoch loss=4.802956
Batch=1139, step=4740, lr=0.180250, batch loss=0.248753, epoch loss=5.051710
Batch=1199, step=4800, lr=0.180250, batch loss=0.191578, epoch loss=5.243288
Epoch=3, step=4800, lr=0.180250, epoch loss=5.243288
Batch=59, step=4860, lr=0.179750, batch loss=0.225443, epoch loss=0.225443
Batch=119, step=4920, lr=0.179500, batch loss=0.186369, epoch loss=0.411811
Batch=179, step=4980, lr=0.179250, batch loss=0.206747, epoch loss=0.618558
Batch=239, step=5040, lr=0.179000, batch loss=0.307710, epoch loss=0.926269
Batch=299, step=5100, lr=0.179000, batch loss=0.199874, epoch loss=1.126143
Batch=359, step=5160, lr=0.178500, batch loss=0.274427, epoch loss=1.400570
Batch=419, step=5220, lr=0.178250, batch loss=0.264314, epoch loss=1.664883
Batch=479, step=5280, lr=0.178000, batch loss=0.240566, epoch loss=1.905449
Batch=539, step=5340, lr=0.177750, batch loss=0.189846, epoch loss=2.095295
Batch=599, step=5400, lr=0.177500, batch loss=0.229856, epoch loss=2.325151
Batch=659, step=5460, lr=0.177250, batch loss=0.324895, epoch loss=2.650045
Batch=719, step=5520, lr=0.177250, batch loss=0.325688, epoch loss=2.975733
Batch=779, step=5580, lr=0.177000, batch loss=0.344900, epoch loss=3.320633
Batch=839, step=5640, lr=0.176750, batch loss=0.309650, epoch loss=3.630283
Batch=899, step=5700, lr=0.176500, batch loss=0.274327, epoch loss=3.904610
Batch=959, step=5760, lr=0.176000, batch loss=0.214555, epoch loss=4.119166
Batch=1019, step=5820, lr=0.176000, batch loss=0.341302, epoch loss=4.460468
Batch=1079, step=5880, lr=0.175750, batch loss=0.208209, epoch loss=4.668677
Batch=1139, step=5940, lr=0.175500, batch loss=0.238377, epoch loss=4.907054
Batch=1199, step=6000, lr=0.175250, batch loss=0.187169, epoch loss=5.094223
Epoch=4, step=6000, lr=0.175250, epoch loss=5.094223
Batch=59, step=6060, lr=0.175000, batch loss=0.231623, epoch loss=0.231623
Batch=119, step=6120, lr=0.174750, batch loss=0.186769, epoch loss=0.418392
Batch=179, step=6180, lr=0.174250, batch loss=0.202150, epoch loss=0.620543
Batch=239, step=6240, lr=0.174000, batch loss=0.299836, epoch loss=0.920379
Batch=299, step=6300, lr=0.174000, batch loss=0.200940, epoch loss=1.121319
Batch=359, step=6360, lr=0.173750, batch loss=0.263330, epoch loss=1.384649
Batch=419, step=6420, lr=0.173250, batch loss=0.258216, epoch loss=1.642865
Batch=479, step=6480, lr=0.173250, batch loss=0.232095, epoch loss=1.874959
Batch=539, step=6540, lr=0.172750, batch loss=0.190726, epoch loss=2.065685
Batch=599, step=6600, lr=0.172500, batch loss=0.232280, epoch loss=2.297965
Batch=659, step=6660, lr=0.172500, batch loss=0.313206, epoch loss=2.611171
Batch=719, step=6720, lr=0.172250, batch loss=0.316206, epoch loss=2.927377
Batch=779, step=6780, lr=0.171750, batch loss=0.330635, epoch loss=3.258012
Batch=839, step=6840, lr=0.171750, batch loss=0.306357, epoch loss=3.564369
Batch=899, step=6900, lr=0.171500, batch loss=0.268918, epoch loss=3.833287
Batch=959, step=6960, lr=0.171250, batch loss=0.207946, epoch loss=4.041233
Batch=1019, step=7020, lr=0.171000, batch loss=0.328685, epoch loss=4.369917
Batch=1079, step=7080, lr=0.170750, batch loss=0.184104, epoch loss=4.554021
Batch=1139, step=7140, lr=0.170500, batch loss=0.216212, epoch loss=4.770233
Batch=1199, step=7200, lr=0.170000, batch loss=0.182395, epoch loss=4.952628
Epoch=5, step=7200, lr=0.170000, epoch loss=4.952628
Batch=59, step=7260, lr=0.169750, batch loss=0.235563, epoch loss=0.235563
Batch=119, step=7320, lr=0.169500, batch loss=0.182844, epoch loss=0.418407
Batch=179, step=7380, lr=0.169500, batch loss=0.195761, epoch loss=0.614168
Batch=239, step=7440, lr=0.169250, batch loss=0.293945, epoch loss=0.908114
Batch=299, step=7500, lr=0.168750, batch loss=0.203593, epoch loss=1.111706
Batch=359, step=7560, lr=0.168750, batch loss=0.264525, epoch loss=1.376231
Batch=419, step=7620, lr=0.168500, batch loss=0.256972, epoch loss=1.633203
Batch=479, step=7680, lr=0.168000, batch loss=0.236979, epoch loss=1.870182
Batch=539, step=7740, lr=0.167750, batch loss=0.188630, epoch loss=2.058812
Batch=599, step=7800, lr=0.167750, batch loss=0.224979, epoch loss=2.283791
Batch=659, step=7860, lr=0.167500, batch loss=0.304614, epoch loss=2.588405
Batch=719, step=7920, lr=0.167250, batch loss=0.307784, epoch loss=2.896189
Batch=779, step=7980, lr=0.166750, batch loss=0.320385, epoch loss=3.216574
Batch=839, step=8040, lr=0.166750, batch loss=0.296581, epoch loss=3.513156
Batch=899, step=8100, lr=0.166250, batch loss=0.258774, epoch loss=3.771930
Batch=959, step=8160, lr=0.166250, batch loss=0.208318, epoch loss=3.980247
Batch=1019, step=8220, lr=0.166000, batch loss=0.315670, epoch loss=4.295917
Batch=1079, step=8280, lr=0.165750, batch loss=0.171150, epoch loss=4.467068
Batch=1139, step=8340, lr=0.165500, batch loss=0.206883, epoch loss=4.673950
Batch=1199, step=8400, lr=0.165000, batch loss=0.178712, epoch loss=4.852662
Epoch=6, step=8400, lr=0.165000, epoch loss=4.852662
Batch=59, step=8460, lr=0.165000, batch loss=0.228262, epoch loss=0.228262
Batch=119, step=8520, lr=0.164750, batch loss=0.176118, epoch loss=0.404380
Batch=179, step=8580, lr=0.164250, batch loss=0.187429, epoch loss=0.591809
Batch=239, step=8640, lr=0.164000, batch loss=0.278886, epoch loss=0.870696
Batch=299, step=8700, lr=0.164000, batch loss=0.199648, epoch loss=1.070344
Batch=359, step=8760, lr=0.163500, batch loss=0.250682, epoch loss=1.321026
Batch=419, step=8820, lr=0.163500, batch loss=0.244123, epoch loss=1.565149
Batch=479, step=8880, lr=0.163250, batch loss=0.228096, epoch loss=1.793245
Batch=539, step=8940, lr=0.163000, batch loss=0.178854, epoch loss=1.972100
Batch=599, step=9000, lr=0.162500, batch loss=0.216778, epoch loss=2.188878
Batch=659, step=9060, lr=0.162250, batch loss=0.293324, epoch loss=2.482202
Batch=719, step=9120, lr=0.162250, batch loss=0.296842, epoch loss=2.779044
Batch=779, step=9180, lr=0.162000, batch loss=0.314907, epoch loss=3.093951
Batch=839, step=9240, lr=0.161500, batch loss=0.279623, epoch loss=3.373574
Batch=899, step=9300, lr=0.161250, batch loss=0.250703, epoch loss=3.624277
Batch=959, step=9360, lr=0.161000, batch loss=0.188238, epoch loss=3.812515
Batch=1019, step=9420, lr=0.160750, batch loss=0.316559, epoch loss=4.129073
Batch=1079, step=9480, lr=0.160750, batch loss=0.186662, epoch loss=4.315735
Batch=1139, step=9540, lr=0.160250, batch loss=0.212588, epoch loss=4.528324
Batch=1199, step=9600, lr=0.160000, batch loss=0.167164, epoch loss=4.695488
Epoch=7, step=9600, lr=0.160000, epoch loss=4.695488
Batch=59, step=9660, lr=0.159750, batch loss=0.207113, epoch loss=0.207113
Batch=119, step=9720, lr=0.159500, batch loss=0.173063, epoch loss=0.380176
Batch=179, step=9780, lr=0.159250, batch loss=0.179431, epoch loss=0.559607
Batch=239, step=9840, lr=0.159250, batch loss=0.260658, epoch loss=0.820265
Batch=299, step=9900, lr=0.158750, batch loss=0.186644, epoch loss=1.006909
Batch=359, step=9960, lr=0.158500, batch loss=0.238793, epoch loss=1.245702
Batch=419, step=10020, lr=0.158500, batch loss=0.234067, epoch loss=1.479769
Batch=479, step=10080, lr=0.158000, batch loss=0.219714, epoch loss=1.699483
Batch=539, step=10140, lr=0.158000, batch loss=0.169526, epoch loss=1.869009
Batch=599, step=10200, lr=0.157750, batch loss=0.202137, epoch loss=2.071146
Batch=659, step=10260, lr=0.157250, batch loss=0.281636, epoch loss=2.352782
Batch=719, step=10320, lr=0.157250, batch loss=0.288143, epoch loss=2.640925
Batch=779, step=10380, lr=0.156750, batch loss=0.294608, epoch loss=2.935533
Batch=839, step=10440, lr=0.156500, batch loss=0.266945, epoch loss=3.202478
Batch=899, step=10500, lr=0.156500, batch loss=0.243826, epoch loss=3.446305
Batch=959, step=10560, lr=0.156000, batch loss=0.193419, epoch loss=3.639724
Batch=1019, step=10620, lr=0.156000, batch loss=0.283286, epoch loss=3.923009
Batch=1079, step=10680, lr=0.155750, batch loss=0.176210, epoch loss=4.099219
Batch=1139, step=10740, lr=0.155500, batch loss=0.201123, epoch loss=4.300342
Batch=1199, step=10800, lr=0.155250, batch loss=0.154214, epoch loss=4.454556
Epoch=8, step=10800, lr=0.155250, epoch loss=4.454556
Batch=59, step=10860, lr=0.155000, batch loss=0.176150, epoch loss=0.176150
Batch=119, step=10920, lr=0.154750, batch loss=0.151242, epoch loss=0.327392
Batch=179, step=10980, lr=0.154250, batch loss=0.166194, epoch loss=0.493585
Batch=239, step=11040, lr=0.154250, batch loss=0.242937, epoch loss=0.736523
Batch=299, step=11100, lr=0.154000, batch loss=0.165585, epoch loss=0.902107
Batch=359, step=11160, lr=0.153500, batch loss=0.222882, epoch loss=1.124990
Batch=419, step=11220, lr=0.153500, batch loss=0.229274, epoch loss=1.354264
Batch=479, step=11280, lr=0.153250, batch loss=0.202265, epoch loss=1.556529
Batch=539, step=11340, lr=0.152750, batch loss=0.160035, epoch loss=1.716563
Batch=599, step=11400, lr=0.152750, batch loss=0.183239, epoch loss=1.899802
Batch=659, step=11460, lr=0.152500, batch loss=0.261048, epoch loss=2.160850
Batch=719, step=11520, lr=0.152250, batch loss=0.254972, epoch loss=2.415822
Batch=779, step=11580, lr=0.152000, batch loss=0.269844, epoch loss=2.685666
Batch=839, step=11640, lr=0.151750, batch loss=0.256205, epoch loss=2.941871
Batch=899, step=11700, lr=0.151500, batch loss=0.216105, epoch loss=3.157976
Batch=959, step=11760, lr=0.151250, batch loss=0.173184, epoch loss=3.331160
Batch=1019, step=11820, lr=0.151000, batch loss=0.259475, epoch loss=3.590635
Batch=1079, step=11880, lr=0.150500, batch loss=0.146641, epoch loss=3.737276
Batch=1139, step=11940, lr=0.150500, batch loss=0.180202, epoch loss=3.917478
Batch=1199, step=12000, lr=0.150000, batch loss=0.138827, epoch loss=4.056305
Epoch=9, step=12000, lr=0.150000, epoch loss=4.056305
Batch=59, step=12060, lr=0.150000, batch loss=0.160011, epoch loss=0.160011
Batch=119, step=12120, lr=0.149750, batch loss=0.136876, epoch loss=0.296887
Batch=179, step=12180, lr=0.149250, batch loss=0.150357, epoch loss=0.447245
Batch=239, step=12240, lr=0.149000, batch loss=0.218230, epoch loss=0.665474
Batch=299, step=12300, lr=0.149000, batch loss=0.141267, epoch loss=0.806741
Batch=359, step=12360, lr=0.148750, batch loss=0.198448, epoch loss=1.005189
Batch=419, step=12420, lr=0.148250, batch loss=0.205459, epoch loss=1.210647
Batch=479, step=12480, lr=0.148250, batch loss=0.177504, epoch loss=1.388151
Batch=539, step=12540, lr=0.147750, batch loss=0.141863, epoch loss=1.530014
Batch=599, step=12600, lr=0.147750, batch loss=0.147842, epoch loss=1.677856
Batch=659, step=12660, lr=0.147500, batch loss=0.226424, epoch loss=1.904279
Batch=719, step=12720, lr=0.147000, batch loss=0.234248, epoch loss=2.138527
Batch=779, step=12780, lr=0.146750, batch loss=0.264044, epoch loss=2.402570
Batch=839, step=12840, lr=0.146500, batch loss=0.232144, epoch loss=2.634714
Batch=899, step=12900, lr=0.146250, batch loss=0.203077, epoch loss=2.837791
Batch=959, step=12960, lr=0.146250, batch loss=0.145624, epoch loss=2.983415
Batch=1019, step=13020, lr=0.145750, batch loss=0.242377, epoch loss=3.225792
Batch=1079, step=13080, lr=0.145750, batch loss=0.111742, epoch loss=3.337534
Batch=1139, step=13140, lr=0.145500, batch loss=0.148221, epoch loss=3.485755
Batch=1199, step=13200, lr=0.145250, batch loss=0.115351, epoch loss=3.601106
Epoch=10, step=13200, lr=0.145250, epoch loss=3.601106
Batch=59, step=13260, lr=0.144750, batch loss=0.136122, epoch loss=0.136122
Batch=119, step=13320, lr=0.144750, batch loss=0.116436, epoch loss=0.252558
Batch=179, step=13380, lr=0.144500, batch loss=0.125672, epoch loss=0.378230
Batch=239, step=13440, lr=0.144000, batch loss=0.182109, epoch loss=0.560338
Batch=299, step=13500, lr=0.144000, batch loss=0.117442, epoch loss=0.677780
Batch=359, step=13560, lr=0.143500, batch loss=0.161265, epoch loss=0.839045
Batch=419, step=13620, lr=0.143250, batch loss=0.159381, epoch loss=0.998426
Batch=479, step=13680, lr=0.143000, batch loss=0.145807, epoch loss=1.144233
Batch=539, step=13740, lr=0.143000, batch loss=0.115772, epoch loss=1.260005
Batch=599, step=13800, lr=0.142750, batch loss=0.118691, epoch loss=1.378696
Batch=659, step=13860, lr=0.142500, batch loss=0.174530, epoch loss=1.553226
Batch=719, step=13920, lr=0.142000, batch loss=0.171454, epoch loss=1.724680
Batch=779, step=13980, lr=0.141750, batch loss=0.176817, epoch loss=1.901497
Batch=839, step=14040, lr=0.141500, batch loss=0.203404, epoch loss=2.104901
Batch=899, step=14100, lr=0.141500, batch loss=0.218459, epoch loss=2.323360
Batch=959, step=14160, lr=0.141000, batch loss=0.107526, epoch loss=2.430886
Batch=1019, step=14220, lr=0.141000, batch loss=0.186249, epoch loss=2.617135
Batch=1079, step=14280, lr=0.140750, batch loss=0.081011, epoch loss=2.698145
Batch=1139, step=14340, lr=0.140250, batch loss=0.125165, epoch loss=2.823311
Batch=1199, step=14400, lr=0.140250, batch loss=0.083915, epoch loss=2.907226
Epoch=11, step=14400, lr=0.140250, epoch loss=2.907226
Batch=59, step=14460, lr=0.140000, batch loss=0.098317, epoch loss=0.098317
Batch=119, step=14520, lr=0.139500, batch loss=0.087585, epoch loss=0.185902
Batch=179, step=14580, lr=0.139500, batch loss=0.094020, epoch loss=0.279922
Batch=239, step=14640, lr=0.139000, batch loss=0.150146, epoch loss=0.430068
Batch=299, step=14700, lr=0.139000, batch loss=0.119318, epoch loss=0.549386
Batch=359, step=14760, lr=0.138750, batch loss=0.132307, epoch loss=0.681693
Batch=419, step=14820, lr=0.138250, batch loss=0.165793, epoch loss=0.847486
Batch=479, step=14880, lr=0.138000, batch loss=0.085000, epoch loss=0.932486
Batch=539, step=14940, lr=0.138000, batch loss=0.068747, epoch loss=1.001234
Batch=599, step=15000, lr=0.137500, batch loss=0.090561, epoch loss=1.091795
Batch=659, step=15060, lr=0.137500, batch loss=0.123545, epoch loss=1.215340
Batch=719, step=15120, lr=0.137250, batch loss=0.120850, epoch loss=1.336190
Batch=779, step=15180, lr=0.137000, batch loss=0.123238, epoch loss=1.459427
Batch=839, step=15240, lr=0.136750, batch loss=0.142834, epoch loss=1.602262
Batch=899, step=15300, lr=0.136500, batch loss=0.144313, epoch loss=1.746575
Batch=959, step=15360, lr=0.136000, batch loss=0.125212, epoch loss=1.871787
Batch=1019, step=15420, lr=0.135750, batch loss=0.394446, epoch loss=2.266233
Batch=1079, step=15480, lr=0.135750, batch loss=0.038432, epoch loss=2.304665
Batch=1139, step=15540, lr=0.135500, batch loss=0.074609, epoch loss=2.379274
Batch=1199, step=15600, lr=0.135000, batch loss=0.063347, epoch loss=2.442621
Epoch=12, step=15600, lr=0.135000, epoch loss=2.442621
Batch=59, step=15660, lr=0.135000, batch loss=0.074395, epoch loss=0.074395
Batch=119, step=15720, lr=0.134500, batch loss=0.090383, epoch loss=0.164778
Batch=179, step=15780, lr=0.134500, batch loss=0.085777, epoch loss=0.250555
Batch=239, step=15840, lr=0.134000, batch loss=0.090032, epoch loss=0.340586
Batch=299, step=15900, lr=0.133750, batch loss=0.035484, epoch loss=0.376070
Batch=359, step=15960, lr=0.133750, batch loss=0.074465, epoch loss=0.450535
Batch=419, step=16020, lr=0.133500, batch loss=0.074225, epoch loss=0.524760
Batch=479, step=16080, lr=0.133250, batch loss=0.052451, epoch loss=0.577211
Batch=539, step=16140, lr=0.132750, batch loss=0.077420, epoch loss=0.654631
Batch=599, step=16200, lr=0.132500, batch loss=0.168552, epoch loss=0.823183
Batch=659, step=16260, lr=0.132250, batch loss=0.096030, epoch loss=0.919213
Batch=719, step=16320, lr=0.132250, batch loss=0.119774, epoch loss=1.038987
Batch=779, step=16380, lr=0.132000, batch loss=0.261733, epoch loss=1.300721
Batch=839, step=16440, lr=0.131500, batch loss=0.086929, epoch loss=1.387649
Batch=899, step=16500, lr=0.131250, batch loss=0.073496, epoch loss=1.461145
Batch=959, step=16560, lr=0.131000, batch loss=0.030202, epoch loss=1.491346
Batch=1019, step=16620, lr=0.131000, batch loss=0.066026, epoch loss=1.557372
Batch=1079, step=16680, lr=0.130500, batch loss=0.045441, epoch loss=1.602813
Batch=1139, step=16740, lr=0.130250, batch loss=0.075694, epoch loss=1.678507
Batch=1199, step=16800, lr=0.130000, batch loss=0.032095, epoch loss=1.710601
Epoch=13, step=16800, lr=0.130000, epoch loss=1.710601
Batch=59, step=16860, lr=0.129750, batch loss=0.034886, epoch loss=0.034886
Batch=119, step=16920, lr=0.129750, batch loss=0.037877, epoch loss=0.072762
Batch=179, step=16980, lr=0.129500, batch loss=0.042077, epoch loss=0.114839
Batch=239, step=17040, lr=0.129000, batch loss=0.056333, epoch loss=0.171172
Batch=299, step=17100, lr=0.128750, batch loss=0.020619, epoch loss=0.191791
Batch=359, step=17160, lr=0.128750, batch loss=0.043570, epoch loss=0.235361
Batch=419, step=17220, lr=0.128250, batch loss=0.068242, epoch loss=0.303603
Batch=479, step=17280, lr=0.128250, batch loss=0.024166, epoch loss=0.327769
Batch=539, step=17340, lr=0.128000, batch loss=0.033057, epoch loss=0.360826
Batch=599, step=17400, lr=0.127500, batch loss=0.034247, epoch loss=0.395074
Batch=659, step=17460, lr=0.127250, batch loss=0.042670, epoch loss=0.437743
Batch=719, step=17520, lr=0.127250, batch loss=0.066610, epoch loss=0.504353
Batch=779, step=17580, lr=0.127000, batch loss=0.122849, epoch loss=0.627202
Batch=839, step=17640, lr=0.126750, batch loss=0.111583, epoch loss=0.738785
Batch=899, step=17700, lr=0.126250, batch loss=0.141479, epoch loss=0.880264
Batch=959, step=17760, lr=0.126000, batch loss=0.018762, epoch loss=0.899027
Batch=1019, step=17820, lr=0.126000, batch loss=0.040645, epoch loss=0.939672
Batch=1079, step=17880, lr=0.125750, batch loss=0.015287, epoch loss=0.954959
Batch=1139, step=17940, lr=0.125500, batch loss=0.047368, epoch loss=1.002328
Batch=1199, step=18000, lr=0.125250, batch loss=0.019896, epoch loss=1.022224
Epoch=14, step=18000, lr=0.125250, epoch loss=1.022224
Batch=59, step=18060, lr=0.124750, batch loss=0.012770, epoch loss=0.012770
Batch=119, step=18120, lr=0.124500, batch loss=0.019082, epoch loss=0.031852
Batch=179, step=18180, lr=0.124250, batch loss=0.028737, epoch loss=0.060590
Batch=239, step=18240, lr=0.124000, batch loss=0.033880, epoch loss=0.094470
Batch=299, step=18300, lr=0.123750, batch loss=0.009314, epoch loss=0.103784
Batch=359, step=18360, lr=0.123500, batch loss=0.024836, epoch loss=0.128620
Batch=419, step=18420, lr=0.123500, batch loss=0.028037, epoch loss=0.156658
Batch=479, step=18480, lr=0.123250, batch loss=0.014891, epoch loss=0.171548
Batch=539, step=18540, lr=0.123000, batch loss=0.020577, epoch loss=0.192126
Batch=599, step=18600, lr=0.122500, batch loss=0.026742, epoch loss=0.218868
Batch=659, step=18660, lr=0.122250, batch loss=0.026693, epoch loss=0.245561
Batch=719, step=18720, lr=0.122000, batch loss=0.047809, epoch loss=0.293370
Batch=779, step=18780, lr=0.121750, batch loss=0.094148, epoch loss=0.387518
Batch=839, step=18840, lr=0.121750, batch loss=0.077661, epoch loss=0.465179
Batch=899, step=18900, lr=0.121500, batch loss=0.095532, epoch loss=0.560710
Batch=959, step=18960, lr=0.121250, batch loss=0.015539, epoch loss=0.576250
Batch=1019, step=19020, lr=0.121000, batch loss=0.025219, epoch loss=0.601469
Batch=1079, step=19080, lr=0.120500, batch loss=0.004652, epoch loss=0.606121
Batch=1139, step=19140, lr=0.120500, batch loss=0.024556, epoch loss=0.630677
Batch=1199, step=19200, lr=0.120250, batch loss=0.011158, epoch loss=0.641835
Epoch=15, step=19200, lr=0.120250, epoch loss=0.641835
Batch=59, step=19260, lr=0.120000, batch loss=0.005160, epoch loss=0.005160
Batch=119, step=19320, lr=0.119750, batch loss=0.012974, epoch loss=0.018134
Batch=179, step=19380, lr=0.119250, batch loss=0.033916, epoch loss=0.052050
Batch=239, step=19440, lr=0.119250, batch loss=0.021517, epoch loss=0.073567
Batch=299, step=19500, lr=0.119000, batch loss=0.004989, epoch loss=0.078556
Batch=359, step=19560, lr=0.118750, batch loss=0.016804, epoch loss=0.095360
Batch=419, step=19620, lr=0.118500, batch loss=0.020039, epoch loss=0.115399
Batch=479, step=19680, lr=0.118000, batch loss=0.007374, epoch loss=0.122773
Batch=539, step=19740, lr=0.118000, batch loss=0.016437, epoch loss=0.139210
Batch=599, step=19800, lr=0.117500, batch loss=0.023861, epoch loss=0.163072
Batch=659, step=19860, lr=0.117500, batch loss=0.020797, epoch loss=0.183868
Batch=719, step=19920, lr=0.117250, batch loss=0.053511, epoch loss=0.237379
Batch=779, step=19980, lr=0.117000, batch loss=0.077486, epoch loss=0.314865
Batch=839, step=20040, lr=0.116500, batch loss=0.030841, epoch loss=0.345706
Batch=899, step=20100, lr=0.116250, batch loss=0.034688, epoch loss=0.380394
Batch=959, step=20160, lr=0.116250, batch loss=0.011490, epoch loss=0.391884
Batch=1019, step=20220, lr=0.116000, batch loss=0.015045, epoch loss=0.406929
Batch=1079, step=20280, lr=0.115500, batch loss=0.001522, epoch loss=0.408452
Batch=1139, step=20340, lr=0.115250, batch loss=0.015134, epoch loss=0.423586
Batch=1199, step=20400, lr=0.115000, batch loss=0.007063, epoch loss=0.430649
Epoch=16, step=20400, lr=0.115000, epoch loss=0.430649
Batch=59, step=20460, lr=0.115000, batch loss=0.003243, epoch loss=0.003243
Batch=119, step=20520, lr=0.114750, batch loss=0.009852, epoch loss=0.013095
Batch=179, step=20580, lr=0.114500, batch loss=0.022203, epoch loss=0.035298
Batch=239, step=20640, lr=0.114000, batch loss=0.017095, epoch loss=0.052393
Batch=299, step=20700, lr=0.113750, batch loss=0.005496, epoch loss=0.057890
Batch=359, step=20760, lr=0.113500, batch loss=0.012816, epoch loss=0.070705
Batch=419, step=20820, lr=0.113250, batch loss=0.016857, epoch loss=0.087562
Batch=479, step=20880, lr=0.113000, batch loss=0.004359, epoch loss=0.091922
Batch=539, step=20940, lr=0.113000, batch loss=0.015355, epoch loss=0.107276
Batch=599, step=21000, lr=0.112500, batch loss=0.018110, epoch loss=0.125386
Batch=659, step=21060, lr=0.112500, batch loss=0.014939, epoch loss=0.140325
Batch=719, step=21120, lr=0.112000, batch loss=0.043176, epoch loss=0.183501
Batch=779, step=21180, lr=0.111750, batch loss=0.061819, epoch loss=0.245320
Batch=839, step=21240, lr=0.111500, batch loss=0.025430, epoch loss=0.270750
Batch=899, step=21300, lr=0.111250, batch loss=0.027184, epoch loss=0.297934
Batch=959, step=21360, lr=0.111000, batch loss=0.009972, epoch loss=0.307906
Batch=1019, step=21420, lr=0.110750, batch loss=0.010727, epoch loss=0.318633
Batch=1079, step=21480, lr=0.110750, batch loss=0.001422, epoch loss=0.320055
Batch=1139, step=21540, lr=0.110500, batch loss=0.012508, epoch loss=0.332563
Batch=1199, step=21600, lr=0.110000, batch loss=0.005050, epoch loss=0.337613
Epoch=17, step=21600, lr=0.110000, epoch loss=0.337613
Batch=59, step=21660, lr=0.109750, batch loss=0.002563, epoch loss=0.002563
Batch=119, step=21720, lr=0.109750, batch loss=0.006294, epoch loss=0.008858
Batch=179, step=21780, lr=0.109500, batch loss=0.012527, epoch loss=0.021384
Batch=239, step=21840, lr=0.109250, batch loss=0.010093, epoch loss=0.031477
Batch=299, step=21900, lr=0.109000, batch loss=0.001622, epoch loss=0.033099
Batch=359, step=21960, lr=0.108750, batch loss=0.010800, epoch loss=0.043899
Batch=419, step=22020, lr=0.108500, batch loss=0.011587, epoch loss=0.055486
Batch=479, step=22080, lr=0.108250, batch loss=0.003043, epoch loss=0.058529
Batch=539, step=22140, lr=0.108000, batch loss=0.018140, epoch loss=0.076669
Batch=599, step=22200, lr=0.107500, batch loss=0.016327, epoch loss=0.092997
Batch=659, step=22260, lr=0.107500, batch loss=0.016047, epoch loss=0.109044
Batch=719, step=22320, lr=0.107250, batch loss=0.023670, epoch loss=0.132714
Batch=779, step=22380, lr=0.107000, batch loss=0.036721, epoch loss=0.169435
Batch=839, step=22440, lr=0.106500, batch loss=0.025728, epoch loss=0.195164
Batch=899, step=22500, lr=0.106500, batch loss=0.026647, epoch loss=0.221811
Batch=959, step=22560, lr=0.106250, batch loss=0.008997, epoch loss=0.230808
Batch=1019, step=22620, lr=0.105750, batch loss=0.010126, epoch loss=0.240934
Batch=1079, step=22680, lr=0.105500, batch loss=0.000596, epoch loss=0.241530
Batch=1139, step=22740, lr=0.105500, batch loss=0.010294, epoch loss=0.251824
Batch=1199, step=22800, lr=0.105000, batch loss=0.004430, epoch loss=0.256254
Epoch=18, step=22800, lr=0.105000, epoch loss=0.256254
Batch=59, step=22860, lr=0.104750, batch loss=0.001547, epoch loss=0.001547
Batch=119, step=22920, lr=0.104500, batch loss=0.005549, epoch loss=0.007096
Batch=179, step=22980, lr=0.104250, batch loss=0.010737, epoch loss=0.017833
Batch=239, step=23040, lr=0.104250, batch loss=0.009464, epoch loss=0.027297
Batch=299, step=23100, lr=0.103750, batch loss=0.008669, epoch loss=0.035966
Batch=359, step=23160, lr=0.103750, batch loss=0.012702, epoch loss=0.048668
Batch=419, step=23220, lr=0.103250, batch loss=0.010693, epoch loss=0.059361
Batch=479, step=23280, lr=0.103250, batch loss=0.002717, epoch loss=0.062078
Batch=539, step=23340, lr=0.102750, batch loss=0.016867, epoch loss=0.078945
Batch=599, step=23400, lr=0.102500, batch loss=0.013769, epoch loss=0.092714
Batch=659, step=23460, lr=0.102250, batch loss=0.011404, epoch loss=0.104118
Batch=719, step=23520, lr=0.102250, batch loss=0.011605, epoch loss=0.115723
Batch=779, step=23580, lr=0.102000, batch loss=0.018196, epoch loss=0.133919
Batch=839, step=23640, lr=0.101750, batch loss=0.028763, epoch loss=0.162682
Batch=899, step=23700, lr=0.101250, batch loss=0.020407, epoch loss=0.183089
Batch=959, step=23760, lr=0.101000, batch loss=0.009765, epoch loss=0.192854
Batch=1019, step=23820, lr=0.100750, batch loss=0.007528, epoch loss=0.200382
Batch=1079, step=23880, lr=0.100500, batch loss=0.000740, epoch loss=0.201122
Batch=1139, step=23940, lr=0.100500, batch loss=0.008981, epoch loss=0.210103
Batch=1199, step=24000, lr=0.100250, batch loss=0.004259, epoch loss=0.214361
Epoch=19, step=24000, lr=0.100250, epoch loss=0.214361


Half-moons scatterplot and decision boundary:
┌────────────────────────────────────────────────────────────────────────────────────────────────────┐
│********************************#*******************************************************************│
│**********************#*#*#######*###*#####*********************************************************│
│**********************#########################*****************************************************│
│*****************#**########*######*###########*###*************************************************│
│***************#################*###################************************************************│
│************######*#################*#################**********************************************│
│**********#*#####*########*#**************##*#########*#********************************************│
│***********########*##*#******************#*****##########******************************************│
│***********###########*************************############***************************************..│
│********######*####*********************************###*###*#**********************************.....│
│*******######**##*************....*****************#*######*#*******************************........│
│*******##*##**##***********..........***************########*##****************************.........│
│*****#######************.......%...%%...***************#########*************************.........%.│
│******######***********.........%........***************##*#####************************......%.%.%.│
│***#########**********.........%%%.%%......*************#*#######**********************......%.%%%%.│
│****#######**********..........%%%%.........************#########*********************.......%%.%%.%│
│**#######************..........%%%%%%%.......**************###*###******************.........%%%%%%.│
│*##*####************...........%%%%%%%.........***********########*****************..........%%%%%%.│
│*#######************...........%%%%%%%..........************#######***************...........%%%%%%.│
│*##*####***********............%%.%%%%%...........***********####****************...........%%%%%%%.│
│*#####*#***********.............%%%%%%%............**********##*###************..............%%%%%..│
│#######***********.............%.%%%%%%.............*********#######**********.............%%%%.%%..│
│#####*#***********..............%%%%%%%...............*******#######*********..............%%%%%%%%.│
│###*#*#**********...............%%%%%%%%%..............*******######********...............%%%%%%...│
│#######*********.................%%%%%%%%...............*****###*###******................%%%%%%....│
│######**********.................%%%%%%%%%................***#*###*******...............%%%%%%%%%...│
│*#*##*#********...................%%%%%%%%%%...............***######****.................%%%%%%.....│
│#****##********....................%%%%%%%%%................***###*#**................%.%%%%%%%.....│
│**************.....................%.%%%%%%...................*******..................%.%%.%%......│
│**************.......................%..%%%%%%%................*****..............%.%%%%%%%%%.......│
│*************.........................%.%%%.%%%%.................**...............%%%%%%%.%.%.......│
│************............................%..%%%%..%................................%%%%%%%%..........│
│************.............................%%%%%%%%%%%........................%%..%%%%%%%%.%..........│
│***********..............................%%.%%%%%%%%..%....................%..%%%.%%%%%%%...........│
│***********.................................%%%%.%%%%%%%%...............%.%%%%%%%%%%%%.%............│
│**********...................................%%%%%%%%%%%%%%%%%%%%%%.%%%%.%%%%%%%%%%%%%..............│
│**********....................................%%.%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%.................│
│*********.........................................%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%...................│
│*********............................................%%%.%%%%%%%%%%%%%%%%%%%%%......................│
│********................................................%...%%%%.%%.%%%%..%.........................│
└────────────────────────────────────────────────────────────────────────────────────────────────────┘
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2025-05-22 20:07.01: Job failed: Failed: Build failed