2025-06-30 08:21.11: New job: test ahrefs/ocannl https://github.com/ahrefs/ocannl.git#refs/heads/master (1fdbc4bd3c3a812d16d3d2d58ba084294999e589) (linux-x86_64:ubuntu-24.10-5.3_opam-2.3) Base: ocaml/opam:ubuntu-24.10-ocaml-5.3@sha256:20126745cc6458ad1b61595c90c2d98df4e1e21b8119b569a007b2c4ed222f6f Opam project build To reproduce locally: git clone --recursive "https://github.com/ahrefs/ocannl.git" -b "master" && cd "ocannl" && git reset --hard 1fdbc4bd cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:ubuntu-24.10-ocaml-5.3@sha256:20126745cc6458ad1b61595c90c2d98df4e1e21b8119b569a007b2c4ed222f6f # ubuntu-24.10-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 7210227672addfb4db789560e45923f54c0aeab1 || git fetch origin master) && git reset -q --hard 7210227672addfb4db789560e45923f54c0aeab1 && 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.8.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.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-06-30 08:21.11: Using cache hint "ahrefs/ocannl-ocaml/opam:ubuntu-24.10-ocaml-5.3@sha256:20126745cc6458ad1b61595c90c2d98df4e1e21b8119b569a007b2c4ed222f6f-ubuntu-24.10-5.3_opam-2.3-82912e70cd030e6e6af979ac4425a6a2" 2025-06-30 08:21.11: Using OBuilder spec: ((from ocaml/opam:ubuntu-24.10-ocaml-5.3@sha256:20126745cc6458ad1b61595c90c2d98df4e1e21b8119b569a007b2c4ed222f6f) (comment ubuntu-24.10-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 7210227672addfb4db789560e45923f54c0aeab1 || git fetch origin master) && git reset -q --hard 7210227672addfb4db789560e45923f54c0aeab1 && 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.8.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.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-06-30 08:21.11: Waiting for resource in pool OCluster 2025-06-30 08:21.11: Waiting for workerβ¦ 2025-06-30 08:21.11: Got resource from pool OCluster Building on toxis.caelum.ci.dev HEAD is now at acb41d23 Auto-set hosted for Train.to_routine; fix ambiguous mem mode provenances HEAD is now at 1fdbc4bd Be lenient about pre-filling params with values but special-case filling with a single value The multiple-values was intended to add shape constraint but apparently is leaky. (from ocaml/opam:ubuntu-24.10-ocaml-5.3@sha256:20126745cc6458ad1b61595c90c2d98df4e1e21b8119b569a007b2c4ed222f6f) Unable to find image 'ocaml/opam:ubuntu-24.10-ocaml-5.3@sha256:20126745cc6458ad1b61595c90c2d98df4e1e21b8119b569a007b2c4ed222f6f' locally docker.io/ocaml/opam@sha256:20126745cc6458ad1b61595c90c2d98df4e1e21b8119b569a007b2c4ed222f6f: Pulling from ocaml/opam ad109e5dce93: Pulling fs layer dc634e19af86: Pulling fs layer 57e39ec0c348: Pulling fs layer 3a9b654e5a6a: Pulling fs layer 16b687d4f9b5: Pulling fs layer 3a9b654e5a6a: Waiting f9e3dec678aa: Pulling fs layer 16b687d4f9b5: Waiting 0b3c65653668: Pulling fs layer c33b5100c7ff: Pulling fs layer 0b3c65653668: Waiting c33b5100c7ff: Waiting b9833b715169: Pulling fs layer 4c7bf6f24210: Pulling fs layer b9833b715169: Waiting e66c02efebdd: Pulling fs layer 4c7bf6f24210: Waiting 444c9bb1ea24: Pulling fs layer 2353deab2387: Pulling fs layer fba21ec4be3a: Pulling fs layer 444c9bb1ea24: Waiting 262e6f9a93e5: Pulling fs layer fba21ec4be3a: Waiting da06a0cd31e6: Pulling fs layer 0151299eee7b: Pulling fs layer 9172f4cd0741: Pulling fs layer da06a0cd31e6: Waiting 0151299eee7b: Waiting d27f086f0428: Pulling fs layer 9172f4cd0741: Waiting 4f4fb700ef54: Pulling fs layer d1bd047881dc: Pulling fs layer d27f086f0428: Waiting acfbf801bc2f: Pulling fs layer d1bd047881dc: Waiting f9f07bfd0c21: Pulling fs layer acfbf801bc2f: Waiting cf6d39950a5a: Pulling fs layer e25f50d4ffb2: Pulling fs layer f9f07bfd0c21: Waiting c11e5b3456fe: Pulling fs layer e25f50d4ffb2: Waiting a54fa2962ae7: Pulling fs layer c11e5b3456fe: Waiting 95baf7d6699f: Pulling fs layer a54fa2962ae7: Waiting 254cce5b0c82: Pulling fs layer f147002abf18: Pulling fs layer 254cce5b0c82: Waiting 95baf7d6699f: Waiting c39dacdb1d7c: Pulling fs layer 769b5e8e6ac9: Pulling fs layer f147002abf18: Waiting c39dacdb1d7c: Waiting 1eaeff4f0735: Pulling fs layer 769b5e8e6ac9: Waiting 95b0155efb1f: Pulling fs layer 1eaeff4f0735: Waiting 439d8b4c919a: Pulling fs layer 95b0155efb1f: Waiting ce2b6613014b: Pulling fs layer ce83403394d3: Pulling fs layer 439d8b4c919a: Waiting 4265a8f38215: Pulling fs layer ce83403394d3: Waiting 163515ff9d32: Pulling fs layer 4265a8f38215: Waiting 8d20093f3766: Pulling fs layer 163515ff9d32: Waiting 1f62263ddd06: Pulling fs layer 46cc6f04d49b: Pulling fs layer 16075f92b8dd: Pulling fs layer 16075f92b8dd: Waiting a80f248febc4: Pulling fs layer 1f62263ddd06: Waiting 91828e0e31db: Pulling fs layer a80f248febc4: Waiting 57e39ec0c348: Verifying Checksum 57e39ec0c348: Download complete ad109e5dce93: Verifying Checksum ad109e5dce93: Download complete dc634e19af86: Verifying Checksum dc634e19af86: Download complete 3a9b654e5a6a: Verifying Checksum 3a9b654e5a6a: Download complete 16b687d4f9b5: Download complete 0b3c65653668: Verifying Checksum 0b3c65653668: Download complete c33b5100c7ff: Verifying Checksum c33b5100c7ff: Download complete 4c7bf6f24210: Verifying Checksum 4c7bf6f24210: Download complete ad109e5dce93: Pull complete dc634e19af86: Pull complete 57e39ec0c348: Pull complete b9833b715169: Verifying Checksum b9833b715169: Download complete f9e3dec678aa: Verifying Checksum f9e3dec678aa: Download complete e66c02efebdd: Verifying Checksum e66c02efebdd: Download complete 2353deab2387: Download complete 444c9bb1ea24: Verifying Checksum 444c9bb1ea24: Download complete fba21ec4be3a: Verifying Checksum fba21ec4be3a: Download complete 262e6f9a93e5: Download complete da06a0cd31e6: Verifying Checksum da06a0cd31e6: Download complete 0151299eee7b: Verifying Checksum 0151299eee7b: Download complete 9172f4cd0741: Verifying Checksum 9172f4cd0741: Download complete 4f4fb700ef54: Download complete d27f086f0428: Verifying Checksum d27f086f0428: Download complete acfbf801bc2f: Download complete f9f07bfd0c21: Download complete 3a9b654e5a6a: Pull complete 16b687d4f9b5: Pull complete e25f50d4ffb2: Verifying Checksum e25f50d4ffb2: Download complete cf6d39950a5a: Verifying Checksum cf6d39950a5a: Download complete a54fa2962ae7: Download complete d1bd047881dc: Verifying Checksum d1bd047881dc: Download complete 254cce5b0c82: Verifying Checksum 254cce5b0c82: Download complete f147002abf18: Verifying Checksum f147002abf18: Download complete c11e5b3456fe: Verifying Checksum c11e5b3456fe: Download complete c39dacdb1d7c: Verifying Checksum c39dacdb1d7c: Download complete 95baf7d6699f: Verifying Checksum 95baf7d6699f: Download complete 769b5e8e6ac9: Verifying Checksum 769b5e8e6ac9: Download complete 95b0155efb1f: Verifying Checksum 95b0155efb1f: Download complete ce2b6613014b: Verifying Checksum ce2b6613014b: Download complete ce83403394d3: Download complete 4265a8f38215: Download complete 163515ff9d32: Verifying Checksum 163515ff9d32: Download complete 8d20093f3766: Verifying Checksum 8d20093f3766: Download complete 1f62263ddd06: Verifying Checksum 1f62263ddd06: Download complete f9e3dec678aa: Pull complete 0b3c65653668: Pull complete c33b5100c7ff: Pull complete 1eaeff4f0735: Verifying Checksum 1eaeff4f0735: Download complete 439d8b4c919a: Verifying Checksum 439d8b4c919a: Download complete 16075f92b8dd: Verifying Checksum 16075f92b8dd: Download complete b9833b715169: Pull complete a80f248febc4: Download complete 46cc6f04d49b: Verifying Checksum 46cc6f04d49b: Download complete 4c7bf6f24210: Pull complete e66c02efebdd: Pull complete 91828e0e31db: Verifying Checksum 91828e0e31db: Download complete 444c9bb1ea24: Pull complete 2353deab2387: Pull complete fba21ec4be3a: Pull complete 262e6f9a93e5: Pull complete da06a0cd31e6: Pull complete 0151299eee7b: Pull complete 9172f4cd0741: Pull complete d27f086f0428: Pull complete 4f4fb700ef54: Pull complete d1bd047881dc: Pull complete acfbf801bc2f: Pull complete f9f07bfd0c21: Pull complete cf6d39950a5a: Pull complete e25f50d4ffb2: Pull complete c11e5b3456fe: Pull complete a54fa2962ae7: Pull complete 95baf7d6699f: Pull complete 254cce5b0c82: Pull complete f147002abf18: Pull complete c39dacdb1d7c: Pull complete 769b5e8e6ac9: Pull complete 1eaeff4f0735: Pull complete 95b0155efb1f: Pull complete 439d8b4c919a: Pull complete ce2b6613014b: Pull complete ce83403394d3: Pull complete 4265a8f38215: Pull complete 163515ff9d32: Pull complete 8d20093f3766: Pull complete 1f62263ddd06: Pull complete 46cc6f04d49b: Pull complete 16075f92b8dd: Pull complete a80f248febc4: Pull complete 91828e0e31db: Pull complete Digest: sha256:20126745cc6458ad1b61595c90c2d98df4e1e21b8119b569a007b2c4ed222f6f Status: Downloaded newer image for ocaml/opam@sha256:20126745cc6458ad1b61595c90c2d98df4e1e21b8119b569a007b2c4ed222f6f 2025-06-30 08:22.36 ---> saved as "e55681b578954368722df1ef80ef5a6e867733b5ce3b430d5fe0a644788508bc" /: (comment ubuntu-24.10-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-06-30 08:22.36 ---> saved as "dad3a40d97787bb28ac988400fbfa55ae43581b913d92de8a2ce00544cf8941c" /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 255 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=255 --global Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] Initialised 2025-06-30 08:23.09 ---> saved as "36de3e1328d453b1383731fb9a3a72ad6c2210927b408a03247029d32e97716a" /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-06-30 08:23.09 ---> saved as "829925dfee67c959173942dbfdf9b19b81a1c2db703f2c8ddb099082f161d551" /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2025-06-30 08:23.09 ---> saved as "48c0e443a0b5cb2329fc023964aaa702a0621bed3213547e049d4ad51c16146a" /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 7210227672addfb4db789560e45923f54c0aeab1 || git fetch origin master) && git reset -q --hard 7210227672addfb4db789560e45923f54c0aeab1 && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD bc726805e3..c77f3ebebe master -> origin/master 7210227672 Merge pull request #28100 from smuenzel/ppx-deriving-6.1.0-ocaml-5.4 <><> 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-06-30 08:23.46 ---> saved as "a1e2449ed68e43d5bb2c859d4dedec5364bd381c49e7027c9a188beca1ae6842" /src: (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./)) 2025-06-30 08:23.46 ---> saved as "5d3698ebf3b5ffc608491e8b61a8909ba37e48973d005c8ab06a412294923341" /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-06-30 08:23.50 ---> saved as "556877148bf36ffd3bcf35b1a04437b04ce7e6d00fbbbaf72e30625bb833194d" /src: (run (network host) (shell "echo '(lang dune 3.0)' > './dune-project'")) 2025-06-30 08:23.50 ---> saved as "cdffd993e04edfb7b92a897c838f1573049da48f7758c37f306e7328243e48db" /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.8.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.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 oracular-security InRelease [126 kB] - Hit:2 http://archive.ubuntu.com/ubuntu oracular InRelease - Get:3 http://archive.ubuntu.com/ubuntu oracular-updates InRelease [126 kB] - Get:4 http://archive.ubuntu.com/ubuntu oracular-backports InRelease [126 kB] - Get:5 http://security.ubuntu.com/ubuntu oracular-security/main amd64 Packages [438 kB] - Get:6 http://security.ubuntu.com/ubuntu oracular-security/universe amd64 Packages [288 kB] - Get:7 http://security.ubuntu.com/ubuntu oracular-security/restricted amd64 Packages [334 kB] - Get:8 http://archive.ubuntu.com/ubuntu oracular-updates/universe amd64 Packages [363 kB] - Get:9 http://archive.ubuntu.com/ubuntu oracular-updates/restricted amd64 Packages [340 kB] - Get:10 http://archive.ubuntu.com/ubuntu oracular-updates/main amd64 Packages [573 kB] - Fetched 2713 kB in 0s (6410 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: 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 libbrotli-dev: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 ... 16145 files and directories currently installed.) - Preparing to unpack .../00-libbrotli-dev_1.1.0-2build2_amd64.deb ... - Unpacking libbrotli-dev:amd64 (1.1.0-2build2) ... - Selecting previously unselected package libevent-2.1-7t64:amd64. - Preparing to unpack .../01-libevent-2.1-7t64_2.1.12-stable-10_amd64.deb ... - Unpacking libevent-2.1-7t64:amd64 (2.1.12-stable-10) ... - Selecting previously unselected package libunbound8:amd64. - Preparing to unpack .../02-libunbound8_1.20.0-1ubuntu2.3_amd64.deb ... - Unpacking libunbound8:amd64 (1.20.0-1ubuntu2.3) ... - Selecting previously unselected package libgnutls-dane0t64:amd64. - Preparing to unpack .../03-libgnutls-dane0t64_3.8.6-2ubuntu1.1_amd64.deb ... - Unpacking libgnutls-dane0t64:amd64 (3.8.6-2ubuntu1.1) ... - Selecting previously unselected package libgnutls-openssl27t64:amd64. - Preparing to unpack .../04-libgnutls-openssl27t64_3.8.6-2ubuntu1.1_amd64.deb ... - Unpacking libgnutls-openssl27t64:amd64 (3.8.6-2ubuntu1.1) ... - Selecting previously unselected package libidn2-dev:amd64. - Preparing to unpack .../05-libidn2-dev_2.3.7-2build2_amd64.deb ... - Unpacking libidn2-dev:amd64 (2.3.7-2build2) ... - Selecting previously unselected package libp11-kit-dev:amd64. - Preparing to unpack .../06-libp11-kit-dev_0.25.5-2ubuntu1_amd64.deb ... - Unpacking libp11-kit-dev:amd64 (0.25.5-2ubuntu1) ... - Selecting previously unselected package libtasn1-6-dev:amd64. - Preparing to unpack .../07-libtasn1-6-dev_4.19.0-3ubuntu0.24.10.1_amd64.deb ... - Unpacking libtasn1-6-dev:amd64 (4.19.0-3ubuntu0.24.10.1) ... - Selecting previously unselected package libgmpxx4ldbl:amd64. - Preparing to unpack .../08-libgmpxx4ldbl_2%3a6.3.0+dfsg-2ubuntu7_amd64.deb ... - Unpacking libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-2ubuntu7) ... - Selecting previously unselected package libgmp-dev:amd64. - Preparing to unpack .../09-libgmp-dev_2%3a6.3.0+dfsg-2ubuntu7_amd64.deb ... - Unpacking libgmp-dev:amd64 (2:6.3.0+dfsg-2ubuntu7) ... - Selecting previously unselected package nettle-dev:amd64. - Preparing to unpack .../10-nettle-dev_3.10-1_amd64.deb ... - Unpacking nettle-dev:amd64 (3.10-1) ... - Selecting previously unselected package libgnutls28-dev:amd64. - Preparing to unpack .../11-libgnutls28-dev_3.8.6-2ubuntu1.1_amd64.deb ... - Unpacking libgnutls28-dev:amd64 (3.8.6-2ubuntu1.1) ... - Selecting previously unselected package libpkgconf3:amd64. - Preparing to unpack .../12-libpkgconf3_1.8.1-3ubuntu1_amd64.deb ... - Unpacking libpkgconf3:amd64 (1.8.1-3ubuntu1) ... - Selecting previously unselected package pkgconf-bin. - Preparing to unpack .../13-pkgconf-bin_1.8.1-3ubuntu1_amd64.deb ... - Unpacking pkgconf-bin (1.8.1-3ubuntu1) ... - Selecting previously unselected package pkgconf:amd64. - Preparing to unpack .../14-pkgconf_1.8.1-3ubuntu1_amd64.deb ... - Unpacking pkgconf:amd64 (1.8.1-3ubuntu1) ... - Selecting previously unselected package libnghttp2-dev:amd64. - Preparing to unpack .../15-libnghttp2-dev_1.62.1-2_amd64.deb ... - Unpacking libnghttp2-dev:amd64 (1.62.1-2) ... - Selecting previously unselected package libpsl-dev:amd64. - Preparing to unpack .../16-libpsl-dev_0.21.2-1.1build1_amd64.deb ... - Unpacking libpsl-dev:amd64 (0.21.2-1.1build1) ... - Selecting previously unselected package zlib1g-dev:amd64. - Preparing to unpack .../17-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1ubuntu1_amd64.deb ... - Unpacking zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1ubuntu1) ... - Selecting previously unselected package librtmp-dev:amd64. - Preparing to unpack .../18-librtmp-dev_2.4+20151223.gitfa8646d.1-2build7_amd64.deb ... - Unpacking librtmp-dev:amd64 (2.4+20151223.gitfa8646d.1-2build7) ... - Selecting previously unselected package libssl-dev:amd64. - Preparing to unpack .../19-libssl-dev_3.3.1-2ubuntu2.1_amd64.deb ... - Unpacking libssl-dev:amd64 (3.3.1-2ubuntu2.1) ... - Selecting previously unselected package libssh2-1-dev:amd64. - Preparing to unpack .../20-libssh2-1-dev_1.11.0-7_amd64.deb ... - Unpacking libssh2-1-dev:amd64 (1.11.0-7) ... - Selecting previously unselected package libcurl4-gnutls-dev:amd64. - Preparing to unpack .../21-libcurl4-gnutls-dev_8.9.1-2ubuntu2.2_amd64.deb ... - Unpacking libcurl4-gnutls-dev:amd64 (8.9.1-2ubuntu2.2) ... - Selecting previously unselected package pkg-config:amd64. - Preparing to unpack .../22-pkg-config_1.8.1-3ubuntu1_amd64.deb ... - Unpacking pkg-config:amd64 (1.8.1-3ubuntu1) ... - Selecting previously unselected package libffi-dev:amd64. - Preparing to unpack .../23-libffi-dev_3.4.6-1build1_amd64.deb ... - Unpacking libffi-dev:amd64 (3.4.6-1build1) ... - Selecting previously unselected package libtasn1-doc. - Preparing to unpack .../24-libtasn1-doc_4.19.0-3ubuntu0.24.10.1_all.deb ... - Unpacking libtasn1-doc (4.19.0-3ubuntu0.24.10.1) ... - Setting up libgnutls-openssl27t64:amd64 (3.8.6-2ubuntu1.1) ... - Setting up libtasn1-doc (4.19.0-3ubuntu0.24.10.1) ... - Setting up libevent-2.1-7t64:amd64 (2.1.12-stable-10) ... - Setting up libffi-dev:amd64 (3.4.6-1build1) ... - Setting up libpsl-dev:amd64 (0.21.2-1.1build1) ... - Setting up libunbound8:amd64 (1.20.0-1ubuntu2.3) ... - Setting up libpkgconf3:amd64 (1.8.1-3ubuntu1) ... - Setting up libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-2ubuntu7) ... - Setting up libgnutls-dane0t64:amd64 (3.8.6-2ubuntu1.1) ... - Setting up libssl-dev:amd64 (3.3.1-2ubuntu2.1) ... - Setting up pkgconf-bin (1.8.1-3ubuntu1) ... - Setting up libidn2-dev:amd64 (2.3.7-2build2) ... - Setting up zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1ubuntu1) ... - Setting up libtasn1-6-dev:amd64 (4.19.0-3ubuntu0.24.10.1) ... - Setting up libbrotli-dev:amd64 (1.1.0-2build2) ... - Setting up libp11-kit-dev:amd64 (0.25.5-2ubuntu1) ... - Setting up libgmp-dev:amd64 (2:6.3.0+dfsg-2ubuntu7) ... - Setting up nettle-dev:amd64 (3.10-1) ... - Setting up pkgconf:amd64 (1.8.1-3ubuntu1) ... - Setting up pkg-config:amd64 (1.8.1-3ubuntu1) ... - Setting up libssh2-1-dev:amd64 (1.11.0-7) ... - Setting up libgnutls28-dev:amd64 (3.8.6-2ubuntu1.1) ... - Setting up libnghttp2-dev:amd64 (1.62.1-2) ... - Setting up librtmp-dev:amd64 (2.4+20151223.gitfa8646d.1-2build7) ... - Setting up libcurl4-gnutls-dev:amd64 (8.9.1-2ubuntu2.2) ... - Processing triggers for libc-bin (2.40-1ubuntu3.1) ... 2025-06-30 08:24.06 ---> saved as "e0259822ae27af24051cc1e799265ac6c0a45ce591ed83645e8b0b2198fa7829" /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.8.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.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 astring.0.8.5 (cached) -> retrieved angstrom.0.16.1 (cached) -> retrieved base.v0.17.3 (cached) -> retrieved bigarray-compat.1.1.0 (cached) -> retrieved bigstringaf.0.10.0 (cached) -> retrieved camlp-streams.5.0.1 (cached) -> retrieved camlzip.1.13 (cached) -> installed conf-libcurl.2 -> retrieved cmdliner.1.3.0 (cached) -> retrieved cppo.1.8.0 (cached) -> installed conf-pkg-config.4 -> retrieved csexp.1.5.2 (cached) -> retrieved csv.2.4 (cached) -> retrieved ctypes.0.23.0, ctypes-foreign.0.23.0 (cached) -> installed conf-libffi.2.0.0 -> installed conf-zlib.1 -> retrieved curl.0.10.0 (cached) -> retrieved fieldslib.v0.17.0 (cached) -> retrieved fmt.0.10.0 (cached) -> retrieved integers.0.7.0 (cached) -> retrieved jane-street-headers.v0.17.0 (cached) -> retrieved jst-config.v0.17.0 (cached) -> retrieved logs.0.8.0 (cached) -> retrieved mtime.2.1.0 (cached) -> retrieved multicore-magic.2.3.1 (cached) -> retrieved mdx.2.5.0 (cached) -> retrieved num.1.6 (cached) -> retrieved ocaml-compiler-libs.v0.17.0 (cached) -> retrieved ocaml-syntax-shims.1.0.0 (cached) -> retrieved ocaml-version.4.0.1 (cached) -> retrieved ocaml_intrinsics_kernel.v0.17.1 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved parsexp.v0.17.0 (cached) -> retrieved pprint.20230830 (cached) -> retrieved ppx_assert.v0.17.0 (cached) -> retrieved ppx_base.v0.17.0 (cached) -> retrieved ppx_cold.v0.17.0 (cached) -> retrieved ppx_compare.v0.17.0 (cached) -> retrieved ppx_derivers.1.2.1 (cached) -> retrieved ppx_enumerate.v0.17.0 (cached) -> retrieved ppx_deriving.6.1.0 (cached) -> retrieved ppx_expect.v0.17.3 (cached) -> retrieved dune.3.19.1, dune-configurator.3.19.1 (cached) -> retrieved ppx_fields_conv.v0.17.0 (cached) -> retrieved ppx_globalize.v0.17.2 (cached) -> retrieved ppx_hash.v0.17.0 (cached) -> retrieved ppx_here.v0.17.0 (cached) -> retrieved ppx_inline_test.v0.17.1 (cached) -> retrieved ppx_optcomp.v0.17.1 (cached) -> retrieved ppx_sexp_conv.v0.17.1 (cached) -> installed cmdliner.1.3.0 -> installed num.1.6 -> retrieved ppx_minidebug.2.3.0 (cached) -> retrieved ppx_string.v0.17.0 (cached) -> retrieved ppx_variants_conv.v0.17.1 (cached) -> retrieved ppxlib_jane.v0.17.4 (cached) -> retrieved ptime.1.2.0 (cached) -> retrieved re.1.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 ppxlib.0.36.0 (cached) -> retrieved sexplib0.v0.17.0 (cached) -> retrieved stdio.v0.17.0 (cached) -> retrieved stdlib-shims.0.3.0 (cached) -> retrieved thread-local-storage.0.2 (cached) -> retrieved time_now.v0.17.0 (cached) -> retrieved topkg.1.0.8 (cached) -> retrieved printbox.0.12, printbox-ext-plot.0.12, printbox-html.0.12, printbox-md.0.12, printbox-text.0.12 (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.8.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-version.4.0.1 -> installed ocaml_intrinsics_kernel.v0.17.1 -> installed pprint.20230830 -> installed printbox.0.12 -> installed result.1.5 -> installed sexplib0.v0.17.0 -> installed re.1.12.0 -> installed ocaml-syntax-shims.1.0.0 -> installed cppo.1.8.0 -> installed ocaml-compiler-libs.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 sexplib.v0.17.0 -> installed bigstringaf.0.10.0 -> installed mdx.2.5.0 -> installed angstrom.0.16.1 -> installed tyxml.4.6.0 -> installed printbox-html.0.12 -> installed curl.0.10.0 -> installed ctypes.0.23.0 -> installed base.v0.17.3 -> installed fieldslib.v0.17.0 -> installed variantslib.v0.17.0 -> installed stdio.v0.17.0 -> installed ctypes-foreign.0.23.0 -> installed uucp.16.0.0 -> installed ppxlib.0.36.0 -> installed printbox-text.0.12 -> installed printbox-md.0.12 -> installed printbox-ext-plot.0.12 -> 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 ppx_enumerate.v0.17.0 -> installed ppx_globalize.v0.17.2 -> installed ppx_compare.v0.17.0 -> installed ppx_deriving.6.1.0 -> installed ppx_sexp_conv.v0.17.1 -> installed ppx_hash.v0.17.0 -> installed ppx_assert.v0.17.0 -> installed ppx_base.v0.17.0 -> installed ppx_minidebug.2.3.0 -> installed jst-config.v0.17.0 -> installed ppx_string.v0.17.0 -> installed time_now.v0.17.0 -> installed ppx_inline_test.v0.17.1 -> installed ppx_expect.v0.17.3 Done. # To update the current shell environment, run: eval $(opam env) 2025-06-30 08:25.19 ---> saved as "b8ff5bdea7739fbccd5c4ce1067c92a5f319778326c53149e11b73c3266101ea" /src: (copy (src .) (dst /src)) 2025-06-30 08:25.19 ---> saved as "bbad07a2e62d8250aec68dc9546784320f6b13aec251e9914c0a783634310b48" /src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) File "arrayjit/test/dune", line 6, characters 7-15: 6 | (pps 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/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 File "test/test_print_style.expected", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/test_print_style.expected _build/default/test/test_print_style.exe.output diff --git a/_build/default/test/test_print_style.expected b/_build/default/test/test_print_style.exe.output index e51ab37..c55c8ad 100644 --- a/_build/default/test/test_print_style.expected +++ b/_build/default/test/test_print_style.exe.output @@ -1,5 +1,5 @@ -Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/ocannl_config. +Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/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 4bd5a1c..0580e1e 100644 --- a/_build/default/test/einsum/test_conv_syntax.expected +++ b/_build/default/test/einsum/test_conv_syntax.exe.output @@ -1,5 +1,5 @@ -Welcome to OCANNL! Reading configuration defaults from /Users/lukstafi/ocannl/_build/default/test/einsum/ocannl_config. +Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/einsum/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file Testing conv syntax parsing... (cd _build/default/test_ppx && ./test_ppx_op_expected.exe) Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test_ppx/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/default/test_ppx && ./test_ppx_op.exe) Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test_ppx/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/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/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition 'Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/9a2f6accdf197dbb53141ed8bcf63ab9/default/test/ocannl_config.' -source-tree-root .. -diff-cmd -) Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/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/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/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/2581a47b1564f3d6ba4d46e22dfefc4b/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 Retrieving commandline, environment, or config file variable ocannl_never_capture_stdout 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 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.post in file "arrayjit/lib/backends.ml", lines 161-168, characters 13-15 Called from Ir__Task.run in file "arrayjit/lib/task.ml", line 17, characters 2-14 Re-raised at Ir__Task.run in file "arrayjit/lib/task.ml", lines 15-17, characters 20-14 Called from Dune__exe__Micrograd_demo_logging.(fun) in file "test/micrograd_demo_logging.ml", line 36, characters 2-16 Called from Utils.capture_stdout_logs in file "arrayjit/lib/utils.ml", line 825, characters 10-16 Re-raised at Utils.capture_stdout_logs in file "arrayjit/lib/utils.ml", line 856, characters 8-87 Called from Dune__exe__Micrograd_demo_logging in file "test/micrograd_demo_logging.ml", lines 35-39, characters 2-58 (cd _build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/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/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/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/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/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 ab456b5..ce9e2a6 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 @@ -735,173 +735,173 @@ HERE: test/einsum/einsum_trivia_exec.ml:269:21 HERE: test/einsum/einsum_trivia_exec.ml:298:21 -ββββββββββββββββββββββββββββββββββ -β[9]: ;=>+ shape 0:4,1:5,2:6,3:3 β -βββββββββ¬βββββββββββββββββββ β -ββ0 @ 0 βaxis 3 β β -βββββββββΌβββββββββββββββββββ€ β -ββ0 @ 1 β 0.00 0.00 0.00 β β -ββaxis 2β 0.00 0.00 1.00 β β -ββ β ... ... ... β β -ββ β 0.00 0.00 4.00 β β -ββ β 0.00 0.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ1 @ 1 β 0.00 1.00 0.00 β β -ββaxis 2β 0.00 1.00 1.00 β β -ββ β ... ... ... β β -ββ β 0.00 1.00 4.00 β β -ββ β 0.00 1.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ2 @ 1 β 0.00 2.00 0.00 β β -ββaxis 2β 0.00 2.00 1.00 β β -ββ β ... ... ... β β -ββ β 0.00 2.00 4.00 β β -ββ β 0.00 2.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ3 @ 1 β 0.00 3.00 0.00 β β -ββaxis 2β 0.00 3.00 1.00 β β -ββ β ... ... ... β β -ββ β 0.00 3.00 4.00 β β -ββ β 0.00 3.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ4 @ 1 β 0.00 4.00 0.00 β β -ββaxis 2β 0.00 4.00 1.00 β β -ββ β ... ... ... β β -ββ β 0.00 4.00 4.00 β β -ββ β 0.00 4.00 5.00 β β -βββββββββ΄βββββββββββββββββββ β -ββββββββββββββββββββββββββββββββββ€ -βββββββββ¬βββββββββββββββββββ β -ββ1 @ 0 βaxis 3 β β -βββββββββΌβββββββββββββββββββ€ β -ββ0 @ 1 β 1.00 0.00 0.00 β β -ββaxis 2β 1.00 0.00 1.00 β β -ββ β ... ... ... β β -ββ β 1.00 0.00 4.00 β β -ββ β 1.00 0.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ1 @ 1 β 1.00 1.00 0.00 β β -ββaxis 2β 1.00 1.00 1.00 β β -ββ β ... ... ... β β -ββ β 1.00 1.00 4.00 β β -ββ β 1.00 1.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ2 @ 1 β 1.00 2.00 0.00 β β -ββaxis 2β 1.00 2.00 1.00 β β -ββ β ... ... ... β β -ββ β 1.00 2.00 4.00 β β -ββ β 1.00 2.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ3 @ 1 β 1.00 3.00 0.00 β β -ββaxis 2β 1.00 3.00 1.00 β β -ββ β ... ... ... β β -ββ β 1.00 3.00 4.00 β β -ββ β 1.00 3.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ4 @ 1 β 1.00 4.00 0.00 β β -ββaxis 2β 1.00 4.00 1.00 β β -ββ β ... ... ... β β -ββ β 1.00 4.00 4.00 β β -ββ β 1.00 4.00 5.00 β β -βββββββββ΄βββββββββββββββββββ β -ββββββββββββββββββββββββββββββββββ€ -βββββββββ¬βββββββββββββββββββ β -ββ2 @ 0 βaxis 3 β β -βββββββββΌβββββββββββββββββββ€ β -ββ0 @ 1 β 2.00 0.00 0.00 β β -ββaxis 2β 2.00 0.00 1.00 β β -ββ β ... ... ... β β -ββ β 2.00 0.00 4.00 β β -ββ β 2.00 0.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ1 @ 1 β 2.00 1.00 0.00 β β -ββaxis 2β 2.00 1.00 1.00 β β -ββ β ... ... ... β β -ββ β 2.00 1.00 4.00 β β -ββ β 2.00 1.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ2 @ 1 β 2.00 2.00 0.00 β β -ββaxis 2β 2.00 2.00 1.00 β β -ββ β ... ... ... β β -ββ β 2.00 2.00 4.00 β β -ββ β 2.00 2.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ3 @ 1 β 2.00 3.00 0.00 β β -ββaxis 2β 2.00 3.00 1.00 β β -ββ β ... ... ... β β -ββ β 2.00 3.00 4.00 β β -ββ β 2.00 3.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ4 @ 1 β 2.00 4.00 0.00 β β -ββaxis 2β 2.00 4.00 1.00 β β -ββ β ... ... ... β β -ββ β 2.00 4.00 4.00 β β -ββ β 2.00 4.00 5.00 β β -βββββββββ΄βββββββββββββββββββ β -ββββββββββββββββββββββββββββββββββ€ -βββββββββ¬βββββββββββββββββββ β -ββ3 @ 0 βaxis 3 β β -βββββββββΌβββββββββββββββββββ€ β -ββ0 @ 1 β 3.00 0.00 0.00 β β -ββaxis 2β 3.00 0.00 1.00 β β -ββ β ... ... ... β β -ββ β 3.00 0.00 4.00 β β -ββ β 3.00 0.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ1 @ 1 β 3.00 1.00 0.00 β β -ββaxis 2β 3.00 1.00 1.00 β β -ββ β ... ... ... β β -ββ β 3.00 1.00 4.00 β β -ββ β 3.00 1.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ2 @ 1 β 3.00 2.00 0.00 β β -ββaxis 2β 3.00 2.00 1.00 β β -ββ β ... ... ... β β -ββ β 3.00 2.00 4.00 β β -ββ β 3.00 2.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ3 @ 1 β 3.00 3.00 0.00 β β -ββaxis 2β 3.00 3.00 1.00 β β -ββ β ... ... ... β β -ββ β 3.00 3.00 4.00 β β -ββ β 3.00 3.00 5.00 β β -βββββββββΌβββββββββββββββββββ€ β -ββ4 @ 1 β 3.00 4.00 0.00 β β -ββaxis 2β 3.00 4.00 1.00 β β -ββ β ... ... ... β β -ββ β 3.00 4.00 4.00 β β -ββ β 3.00 4.00 5.00 β β -βββββββββ΄βββββββββββββββββββ β -ββββββββββββββββββββββββββββββββββ +ββββββββββββββββββββββββββββββββββββββββ +β[9]: ;=>+ shape 0:4,1:5,2:6,3:3 β +βββββββββ¬ββββββββββββββββββββββββββββ β +ββ0 @ 0 βaxis 3 β β +βββββββββΌββββββββββββββββββββββββββββ€ β +ββ0 @ 1 β 4.21e-2 6.17e-41 0.00 β β +ββaxis 2β 2.10e-2 1.93e+3 1.00 β β +ββ β ... ... ... β β +ββ β 2.82e+3 3.04e+3 4.00 β β +ββ β 2.10e-2 3.08e-41 5.00 β β +βββββββββΌββββββββββββββββββββββββββββ€ β +ββ1 @ 1 β 2.10e-2 1.00 2.06e+3 β β +ββaxis 2β 0.00 1.93e+3 2.06e+3 β β +ββ β ... ... ... β β +ββ β 2.82e+3 3.04e+3 2.06e+3 β β +ββ β 0.00 1.00 2.06e+3 β β +βββββββββΌββββββββββββββββββββββββββββ€ β +ββ2 @ 1 β 2.14e+3 2.00 2.46e+3 β β +ββaxis 2β 2.14e+3 1.93e+3 2.46e+3 β β +ββ β ... ... ... β β +ββ β 4.96e+3 3.04e+3 2.46e+3 β β +ββ β 2.14e+3 2.00 2.46e+3 β β +βββββββββΌββββββββββββββββββββββββββββ€ β +ββ3 @ 1 β 2.48e+3 3.00 2.86e+3 β β +ββaxis 2β 2.48e+3 1.93e+3 2.86e+3 β β +ββ β ... ... ... β β +ββ β 5.30e+3 3.04e+3 2.86e+3 β β +ββ β 2.48e+3 3.00 2.86e+3 β β +βββββββββΌββββββββββββββββββββββββββββ€ β +ββ4 @ 1 β 2.82e+3 4.00 3.26e+3 β β +ββaxis 2β 2.82e+3 1.94e+3 3.26e+3 β β +ββ β ... ... ... β β +ββ β 5.64e+3 3.04e+3 3.26e+3 β β +ββ β 2.82e+3 4.00 3.26e+3 β β +βββββββββ΄ββββββββββββββββββββββββββββ β +ββββββββββββββββββββββββββββββββββββββββ€ +βββββββββ¬ββββββββββββββββββββββββββββ β +ββ1 @ 0 βaxis 3 β β +βββββββββΌββββββββββββββββββββββββββββ€ β +ββ0 @ 1 β 1.04 3.08e-41 0.00 β β +ββaxis 2β 1.02 1.93e+3 1.00 β β +ββ β ... ... ... β β +ββ β 2.82e+3 3.04e+3 4.00 β β +ββ β 1.02 0.00 5.00 β β +βββββββββΌββββββββββββββββββββββββββββ€ β +ββ1 @ 1 β 1.02 1.00 2.06e+3 β β +ββaxis 2β 1.00 1.93e+3 2.06e+3 β β +ββ β ... ... ... β β +ββ β 2.82e+3 3.04e+3 2.06e+3 β β +ββ β 1.00 1.00 2.06e+3 β β +βββββββββΌββββββββββββββββββββββββββββ€ β +ββ2 @ 1 β 2.14e+3 2.00 2.46e+3 β β +ββaxis 2β 2.14e+3 1.93e+3 2.46e+3 β β +ββ β ... ... ... β β +ββ β 4.96e+3 3.04e+3 2.46e+3 β β +ββ β 2.14e+3 2.00 2.46e+3 β β +βββββββββΌββββββββββββββββββββββββββββ€ β +ββ3 @ 1 β 2.48e+3 3.00 2.86e+3 β β +ββaxis 2β 2.48e+3 1.93e+3 2.86e+3 β β +ββ β ... ... ... β β +ββ β 5.30e+3 3.04e+3 2.86e+3 β β +ββ β 2.48e+3 3.00 2.86e+3 β β +βββββββββΌββββββββββββββββββββββββββββ€ β +ββ4 @ 1 β 2.82e+3 4.00 3.26e+3 β β +ββaxis 2β 2.82e+3 1.94e+3 3.26e+3 β β +ββ β ... ... ... β β +ββ β 5.64e+3 3.04e+3 3.26e+3 β β +ββ β 2.82e+3 4.00 3.26e+3 β β +βββββββββ΄ββββββββββββββββββββββββββββ β +ββββββββββββββββββββββββββββββββββββββββ€ +βββββββββ¬βββββββββββββββββββββββββββββββ +ββ2 @ 0 βaxis 3 ββ +βββββββββΌββββββββββββββββββββββββββββββ€β +ββ0 @ 1 β 2.04 3.08e-41 5.60e-45 ββ +ββaxis 2β 2.02 1.93e+3 1.00 ββ +ββ β ... ... ... ββ +ββ β 2.82e+3 3.04e+3 4.00 ββ +ββ β 2.02 0.00 5.00 ββ +βββββββββΌββββββββββββββββββββββββββββββ€β +ββ1 @ 1 β 2.02 1.00 2.06e+3 ββ +ββaxis 2β 2.00 1.93e+3 2.06e+3 ββ +ββ β ... ... ... ββ +ββ β 2.82e+3 3.04e+3 2.06e+3 ββ +ββ β 2.00 1.00 2.06e+3 ββ +βββββββββΌββββββββββββββββββββββββββββββ€β +ββ2 @ 1 β 2.15e+3 2.00 2.46e+3 ββ +ββaxis 2β 2.15e+3 1.93e+3 2.46e+3 ββ +ββ β ... ... ... ββ +ββ β 4.97e+3 3.04e+3 2.46e+3 ββ +ββ β 2.15e+3 2.00 2.46e+3 ββ +βββββββββΌββββββββββββββββββββββββββββββ€β +ββ3 @ 1 β 2.48e+3 3.00 2.86e+3 ββ +ββaxis 2β 2.48e+3 1.93e+3 2.86e+3 ββ +ββ β ... ... ... ββ +ββ β 5.30e+3 3.04e+3 2.86e+3 ββ +ββ β 2.48e+3 3.00 2.86e+3 ββ +βββββββββΌββββββββββββββββββββββββββββββ€β +ββ4 @ 1 β 2.82e+3 4.00 3.26e+3 ββ +ββaxis 2β 2.82e+3 1.94e+3 3.26e+3 ββ +ββ β ... ... ... ββ +ββ β 5.64e+3 3.04e+3 3.26e+3 ββ +ββ β 2.82e+3 4.00 3.26e+3 ββ +βββββββββ΄βββββββββββββββββββββββββββββββ +ββββββββββββββββββββββββββββββββββββββββ€ +βββββββββ¬ββββββββββββββββββββββββββββ β +ββ3 @ 0 βaxis 3 β β +βββββββββΌββββββββββββββββββββββββββββ€ β +ββ0 @ 1 β 3.04 3.08e-41 0.00 β β +ββaxis 2β 3.02 1.93e+3 1.00 β β +ββ β ... ... ... β β +ββ β 2.82e+3 3.04e+3 4.00 β β +ββ β 3.02 0.00 5.00 β β +βββββββββΌββββββββββββββββββββββββββββ€ β +ββ1 @ 1 β 3.02 1.00 2.06e+3 β β +ββaxis 2β 3.00 1.93e+3 2.06e+3 β β +ββ β ... ... ... β β +ββ β 2.82e+3 3.04e+3 2.06e+3 β β +ββ β 3.00 1.00 2.06e+3 β β +βββββββββΌββββββββββββββββββββββββββββ€ β +ββ2 @ 1 β 2.15e+3 2.00 2.46e+3 β β +ββaxis 2β 2.15e+3 1.93e+3 2.46e+3 β β +ββ β ... ... ... β β +ββ β 4.97e+3 3.04e+3 2.46e+3 β β +ββ β 2.15e+3 2.00 2.46e+3 β β +βββββββββΌββββββββββββββββββββββββββββ€ β +ββ3 @ 1 β 2.48e+3 3.00 2.86e+3 β β +ββaxis 2β 2.48e+3 1.93e+3 2.86e+3 β β +ββ β ... ... ... β β +ββ β 5.30e+3 3.04e+3 2.86e+3 β β +ββ β 2.48e+3 3.00 2.86e+3 β β +βββββββββΌββββββββββββββββββββββββββββ€ β +ββ4 @ 1 β 2.82e+3 4.00 3.26e+3 β β +ββaxis 2β 2.82e+3 1.94e+3 3.26e+3 β β +ββ β ... ... ... β β +ββ β 5.64e+3 3.04e+3 3.26e+3 β β +ββ β 2.82e+3 4.00 3.26e+3 β β +βββββββββ΄ββββββββββββββββββββββββββββ β +ββββββββββββββββββββββββββββββββββββββββ HERE: test/einsum/einsum_trivia_exec.ml:299:21 -βββββββββββββββββββββββββββββ -β[1]: =>_ti shape 0:4,1:3 β -βββββββββ¬ββββββββββββββββββββ -ββ βaxis 1 ββ -βββββββββΌβββββββββββββββββββ€β -ββaxis 0β 0.00 0.00 0.00 ββ -ββ β 1.00 0.00 0.00 ββ -ββ β 2.00 0.00 0.00 ββ -ββ β 3.00 0.00 0.00 ββ -βββββββββ΄ββββββββββββββββββββ -βββββββββββββββββββββββββββββ +βββββββββββββββββββββββββββββββββββββ +β[1]: =>_ti shape 0:4,1:3 β +βββββββββ¬ββββββββββββββββββββββββββββ +ββ βaxis 1 ββ +βββββββββΌβββββββββββββββββββββββββββ€β +ββaxis 0β 0.00 3.08e-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:300:21 -βββββββββββββββββββββββββββββ -β[7]: =>_tk shape 0:6,1:3 β -βββββββββ¬ββββββββββββββββββββ -ββ βaxis 1 ββ -βββββββββΌβββββββββββββββββββ€β -ββaxis 0β 0.00 0.00 0.00 ββ -ββ β 0.00 0.00 1.00 ββ -ββ β ... ... ... ββ -ββ β 0.00 0.00 4.00 ββ -ββ β 0.00 0.00 5.00 ββ -βββββββββ΄ββββββββββββββββββββ -βββββββββββββββββββββββββββββ +ββββββββββββββββββββββββββββββββββββ +β[7]: =>_tk shape 0:6,1:3 β +βββββββββ¬βββββββββββββββββββββββββββ +ββ βaxis 1 ββ +βββββββββΌββββββββββββββββββββββββββ€β +ββaxis 0β 2.10e-2 3.08e-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:323:21 (cd _build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/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/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/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/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file File "test/einsum/moons_demo_variant.expected", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum/moons_demo_variant.expected _build/default/test/einsum/moons_demo_variant.exe.output diff --git a/_build/default/test/einsum/moons_demo_variant.expected b/_build/default/test/einsum/moons_demo_variant.exe.output index 68171df..886a27c 100644 --- a/_build/default/test/einsum/moons_demo_variant.expected +++ b/_build/default/test/einsum/moons_demo_variant.exe.output @@ -1,57 +1,52 @@ -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 Half-moons scatterplot and decision boundary: ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ -β****************************#***********************************************************************β -β****************************###***###***#***********************************************************β -β***************************#********#***#**********************************************************.β -β********************#*********************##*#*#************************************************....β -β******************#***#*****##*#*#*#****#*#*#*##**********************************************......β -β**************#*#**###**#*##**##********#**#****###**#*************************************.........β -β***********#***##***#**##*****************#*#*##*###*************************************...........β -β***************#**###******************************##*#********************************.............β -β*************#*****#******************************#*#***#*#*************************................β -β*********#***#************************************##*###**#***********************..................β -β******#***#*#*#******************************************#*#*******************.....................β -β*****###****#*******************************************#********************.......................β -β*******#*###***********************************************#*#************..........................β -β**********##**********************%%*********************#**##**********............................β -β*****#***#**********************%**%%********************************.............................%.β -β**####*************************%**%**************************##*#**............................%...%β -β****#**************************%%**%*************************#*#*..............................%....β -β*#****##************************%*...%*********************##*..#...........................%...%%..β -β****#*#***********************.%..%.%........................#..#.............................%.%...β -β##*##*********************.......%.............................#.##.........................%.%.%%%.β -β**#####*****************.......%...%%.......................................................%..%.%..β -β**********************...........%.%.%%.....................#.#.#.#.............................%%..β -β***##****************............%..%..%........................#.#.........................%...%...β -β##**#**************................%...%.....................#..###......................%.%%.......β -β###***************...............%.%.%...........................##............................%....β -β**##************.................................................#......................%%.%..%.....β -β**#************....................%%...........................##......................%%.%........β -β**************........................%......................#..#...........................%.......β -β************........................%%.%.......................##.....................%..%..........β -β***********............................%%..............................................%%.%%........β -β**********.............................%...%............................................%%%.........β -β********...................................%..%....................................%.....%..........β -β*******.................................%%..%.%................................%.%.%.%%.............β -β******.....................................%%.%...%%.%.......................%%%....%.%.%...........β -β*****....................................%.....%.%..%....................%.....%%.%.%...............β -β***.........................................%%...%.%%%%..%.......%.........%%.%%....................β -β**................................................%..%.......%..%%%%...%.%..%.%.....................β -β*..................................................%.%.%............%..%...%........................β -β..................................................%....%.%......%%...%.%............................β -β..........................................................%..%......%%%.............................β +β..............................#.....................................................................β +β...........................#......#.....#...........................................................β +β....................................................................................................β +β...................#.......#.#...#......#......#....................................................β +β..................#...##.................#....#.....................................................β +β....................#........#.#........##...........#..............................................β +β....................................................................................................β +β....................................................#...............................................β +β............#..........................................#............................................β +β..................................................#...#..#.#........................................β +β.............#..........................................#...........................................β +β.........#..........................................................................................β +β...........#................................................#.......................................β +β....#....##.......................%.........................#.......................................β +β....#...#...................................................#.....................................%.β +β..#.#............................%............................#....................................%β +β................................%...............................................................%...β +β......#.............................................................................................β +β#...#...........................%..............................#....................................β +β..................................................................................................%.β +β..##.#.........................%...............................................................%.%..β +β................................%............................#..#...............................%...β +β................................%..........................................................%%.......β +β##...............................................................#..........................%.......β +β................................................................#...................................β +β.........................................................................................%.%........β +β.#.................................%.............................#..................................β +β...........................................................................................%........β +β....................................%..%.................................................%..........β +β.......................................................................................%..%.........β +β......................................%%................................................%...........β +β...........................................%..%.....................................................β +β............................................%.......................................%...............β +β...................................................%..................................%.............β +β.........................................%..............................%...........%...............β +β................................................%...%...%.......%..........%..%%....................β +β.............................................................%..%.%....%.%..........................β +β.......................................................%............%..%............................β +β.....................................................................%..............................β +β.............................................................%......%%..............................β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββLoss: ββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ -β 3.79e+1β- β -β β β -β β β -β β β -β β β -β β β +β 2.92e+6β - - β β β β β β β β β β @@ -61,67 +56,113 @@ Half-moons scatterplot and decision boundary: β β β β β β β β β +β β - - β β β β β β β +β β - - β +β β - - - - β +β β - - β +β β - - β β β β βl β β -βo β β -βs β β -βs β β -β β β -β β β +βo β - - β +βs β - - β +βs β - - - - β +β β - - β +β β β +β β - - β +β β - - - - - - β +β β - - β +β β - - - - - - - - β +β β - - - - β +β β β +β β β +β β β +β β - - - - β +β β - - - - - - β +β β - - β +β β - - β +β β- - - - β +β β - - - - - - - - β +β β - - - - β +β 1.99e+5β - - - - β +ββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ +β β0.00 7.90e+1β +β β step β +ββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββLog-loss, for better visibility: +ββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ +β 1.48e+1β - - β β β β β β β β β β +β β - - β +β β - - β +β β - - - - β +β β - - - - β β β β +β β - - β +β β - - - - β +β β - - - - β β β β +β β - - β +β β - - - - - - - - β +β β - - - - - - - - β +βl β - - - - β +βo β β +βg β β β β β -β β - β +βl β β +βo β - - - - β +βs β - - - - β +βs β - - - - β β β β +β β - - β β β β β β β +β β - - β +β β- - β +β β - - β +β β - - - - β +β β - - β β β β +β β - - - - β β β β β β β +β β - - β β β β -β β - - - - β -β 0.00 β - ---- --- --- ---- ---- ---- ---- -- - ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- β +β 1.22e+1β - - β ββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β β0.00 7.90e+1β β β step β -ββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββLog-loss, for better visibility: +ββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ +Learning rate: βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ -β 3.63 β- β +β -3.36e+3β β β β β β β β β β β -β β - β β β β β β β β β β β β β -β β - β -β β - β -β β - - - β -β β - - - - β -β β -- - - - - - - - -- - - - - - -- β -β β - - - - - - - -- - - -- - - - - β -β β - - - β -βl β - - - -- - β -βo β - - β -βg β - - - - β -β β - - - β -βl β - -- β -βo β - - - β -βs β - β -βs β - β -β β - β β β β β β β β β β β β β β β β +βl β β +βe β β +βa β β +βr β β +βn β β +βi β β +βn β β +βg β β β β β +βr β β +βa β β +βt β β +βe β β β β β β β β β β β @@ -130,53 +171,12 @@ Half-moons scatterplot and decision boundary: β β β β β β β β β -β -1.00e+1β - - - - - - - β -βββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ -β β0.00 7.90e+1β -β β step β -βββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ -Learning rate: -βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ -β -1.01e-1β - β -β β -- β -β β - - β -β β -- β -β β - - β -β β -- β -β β - - β -β β -- β -β β - - β -β β -- β -β β - - β -β β -- β -β β - - β -βl β -- β -βe β - - β -βa β -- β -βr β - - β -βn β -- β -βi β - - β -βn β -- β -βg β - - β -β β -- β -βr β - - β -βa β -- β -βt β - - β -βe β -- β -β β - - β -β β -- β -β β - - β -β β -- β -β β - - β -β β -- β -β β - - β -β β -- β -β β - - β -β β -- β -β β - - β -β β -- β -β β - - β -β -2.00e-1β--- β +β β β +β β β +β β β +β β β +β β β +β -3.36e+3β---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- β βββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β β0.00 7.90e+1β β β step β (cd _build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/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/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file (cd _build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/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/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/ocannl_config. Retrieving commandline, environment, or config file variable ocannl_log_level Found 0, in the config file File "test/zero2hero_1of7.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/zero2hero_1of7.ml _build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/zero2hero_1of7.ml.corrected diff --git a/_build/default/test/zero2hero_1of7.ml b/_build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/zero2hero_1of7.ml.corrected index 61f11e7..33aca48 100644 --- a/_build/default/test/zero2hero_1of7.ml +++ b/_build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/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 + 6.00e+1 + #16 grad_+_f_nd Virt/30 + <void> + #13 - Virt/40 β#2 5. Virt/40 + <void> β<void> + #14 grad_- Virt/30 β + <void> β + #11 *. Virt/40 β #4 *. Virt/40 β + <void> β <void> β + #12 grad_*. Virt/30 β #5 grad_*. Virt/30 β + <void> β <void> β + #10 3. Virt/40β#7 **. Virt/40 β#3 4. Virt/40β#0 x β + <void> β<void> β<void> β 5.00 β + β#8 grad_**. Virt/30β β#1 grad_x Local/26030β + β<void> β β<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; @@ -94,54 +94,21 @@ let%expect_test "Graph drawing recompile" = [ Scatterplot { points = Array.zip_exn xs ys; content = PrintBox.line "#" } ] in PrintBox_text.output Stdio.stdout plot_box; - [%expect - {| - ββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β 1.00e+2β# β - β β β - β β β - β β β - β β β - β β β - β β β - β β β - β β β - β β β - β β β - β β β - β β β - β β # β - β β β - β β β - β β β - β β β - βf β β - β( β β - βx β β - β) β β - β β β - β β # β - β β β - β β β - β β #β - β β β - β β β - β β β - β β β - β β # β - β β β - β β # β - β β β - β β β - β β # β - β β # β - β β β - β 4.00 β # # β - ββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ - β β-5.00 4.00β - β β x β - ββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - |}] + [%expect.unreachable] +[@@expect.uncaught_exn {| + (* CR expect_test_collector: This test expectation appears to contain a backtrace. + This is strongly discouraged as backtraces are fragile. + Please change this test to not include a backtrace. *) + (Invalid_argument + "Tnode.update_memory_mode: update 410 -> 412 inconsistent for x") + Raised at Stdlib.invalid_arg in file "stdlib.ml", line 30, characters 20-45 + Called from Base__Set.Accessors.iter in file "src/set.ml" (inlined), line 1193, characters 18-38 + Called from Ocannl__Train.to_routine in file "lib/train.ml", line 350, characters 17-83 + Called from Tutorials__Zero2hero_1of7.(fun) in file "test/zero2hero_1of7.ml", lines 84-86, characters 10-69 + Called from Base__Array0.map in file "src/array0.ml", line 130, characters 24-44 + Called from Tutorials__Zero2hero_1of7.(fun) in file "test/zero2hero_1of7.ml", lines 81-90, characters 4-15 + Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28 + |}] let%expect_test "Graph drawing fetch" = Tensor.unsafe_reinitialize (); @@ -273,22 +240,22 @@ 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/410 + <not-in-yet> + #13 grad_*._l Host&stream/410 + <not-in-yet> + #8 +_d Host&stream/410 β#10 f Host&stream/410 + <not-in-yet> β<not-in-yet> + #9 grad_+_d Host&stream/410 β#11 grad_f Host&stream/410 + <not-in-yet> β<not-in-yet> + #4 *._e Host&stream/410 β#6 c Host&stream/410 β + <not-in-yet> β<not-in-yet> β + #5 grad_*._e Host&stream/410 β#7 grad_c Host&stream/410β + <not-in-yet> β<not-in-yet> β + #0 a Host&stream/410 β#2 b Host&stream/410 β β + <not-in-yet> β<not-in-yet> β β + #1 grad_a Host&stream/410β#3 grad_b Host&stream/410β β + <not-in-yet> β<not-in-yet> β β |}]; (* Do not update the params: all values and gradients will be at initial points, which are specified in the tensor in the brackets. *) @@ -325,15 +292,15 @@ let%expect_test "Simple gradients hosted" = #13 grad_*._l 1.00 #8 +_d β#10 f - 4.00 β -2.40 + 4.00 β -2.00 #9 grad_+_d β#11 grad_f -2.00 β 4.00 #4 *._e β#6 c β - -6.00 β 1.02e+1 β + -6.00 β 1.00e+1 β #5 grad_*._e β#7 grad_cβ -2.00 β -2.00 β #0 a β#2 b β β - 1.40 β -2.60 β β + 2.00 β -3.00 β β #1 grad_aβ#3 grad_bβ β 6.00 β -4.00 β β |}]; @@ -345,21 +312,21 @@ let%expect_test "Simple gradients hosted" = [%expect {| #12 *._l - -1.57e+1 + -8.00 #13 grad_*._l 1.00 #8 +_d β#10 f - 6.56 β -2.40 + 4.00 β -2.00 #9 grad_+_d β#11 grad_f - -2.40 β 6.56 + -2.00 β 4.00 #4 *._e β#6 c β - -3.64 β 1.02e+1 β + -6.00 β 1.00e+1 β #5 grad_*._e β#7 grad_cβ - -2.40 β -2.40 β + -2.00 β -2.00 β #0 a β#2 b β β - 1.40 β -2.60 β β + 2.00 β -3.00 β β #1 grad_aβ#3 grad_bβ β - 6.24 β -3.36 β β + 6.00 β -4.00 β β |}] let%expect_test "Simple gradients virtual" = @@ -381,21 +348,21 @@ let%expect_test "Simple gradients virtual" = Tensor.print_tree ~spy:true ~with_grad:true ~depth:9 l; [%expect {| - #12 *._l Host&dev/41 + #12 *._l Host&dev/412 <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 + #9 grad_+_d unknown β#11 grad_f Non-virt/26 <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 β + #5 grad_*._e unknown β#7 grad_c Non-virt/26 β <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 β β + #1 grad_a Non-virt/26 β#3 grad_b Non-virt/26 β β <not-in-yet> β<not-in-yet> β β |}]; let grad_routine = Train.to_routine (module Backend) ctx IDX.empty grad in @@ -403,22 +370,22 @@ 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/410 + <not-in-yet> + #13 grad_*._l Virt/40 + <not-in-yet> + #8 +_d Virt/40 β#10 f Host&stream/410 + <not-in-yet> β<not-in-yet> + #9 grad_+_d Virt/40 β#11 grad_f Host&stream/410 + <not-in-yet> β<not-in-yet> + #4 *._e Virt/40 β#6 c Host&stream/410 β + <not-in-yet> β<not-in-yet> β + #5 grad_*._e Virt/40 β#7 grad_c Host&stream/410β + <not-in-yet> β<not-in-yet> β + #0 a Host&stream/410 β#2 b Host&stream/410 β β + <not-in-yet> β<not-in-yet> β β + #1 grad_a Host&stream/410β#3 grad_b Host&stream/410β β + <not-in-yet> β<not-in-yet> β β |}]; (* Do not update the params: all values and gradients will be at initial points, which are specified in the tensor in the brackets. *) @@ -426,22 +393,22 @@ let%expect_test "Simple gradients virtual" = Tensor.print_tree ~with_grad:true ~depth:9 l; [%expect {| - #12 *._l - -8.00 - #13 grad_*._l Virt/40 - <void> - #8 +_d Local/46 β#10 f - <void> β -2.00 - #9 grad_+_d Virt/40 β#11 grad_f Dev-stream/41 - <void> β<void> - #4 *._e Virt/152 β#6 c β - <void> β 1.00e+1 β - #5 grad_*._e Virt/40 β#7 grad_c Dev-stream/41β - <void> β<void> β - #0 a β#2 b β β - 2.00 β -3.00 β β - #1 grad_a Dev-stream/41β#3 grad_b Dev-stream/41β β - <void> β<void> β β + #12 *._l + -8.00 + #13 grad_*._l Virt/40 + <void> + #8 +_d Virt/40 β#10 f + <void> β -2.00 + #9 grad_+_d Virt/40 β#11 grad_f + <void> β 4.00 + #4 *._e Virt/40 β#6 c β + <void> β 1.00e+1 β + #5 grad_*._e Virt/40β#7 grad_cβ + <void> β -2.00 β + #0 a β#2 b β β + 2.00 β -3.00 β β + #1 grad_aβ#3 grad_b β β + 6.00 β -4.00 β β |}]; (* Only now compile the SGD update. *) let sgd_routine = Train.to_routine (module Backend) grad_routine.context IDX.empty sgd in @@ -452,22 +419,22 @@ let%expect_test "Simple gradients virtual" = Tensor.print_tree ~with_grad:true ~depth:9 l; [%expect {| - #12 *._l - -8.00 - #13 grad_*._l Virt/40 - <void> - #8 +_d Local/46 β#10 f - <void> β -2.40 - #9 grad_+_d Virt/40 β#11 grad_f Dev-stream/41 - <void> β<void> - #4 *._e Virt/152 β#6 c β - <void> β 1.02e+1 β - #5 grad_*._e Virt/40 β#7 grad_c Dev-stream/41β - <void> β<void> β - #0 a β#2 b β β - 1.40 β -2.60 β β - #1 grad_a Dev-stream/41β#3 grad_b Dev-stream/41β β - <void> β<void> β β + #12 *._l + -8.00 + #13 grad_*._l Virt/40 + <void> + #8 +_d Virt/40 β#10 f + <void> β -2.00 + #9 grad_+_d Virt/40 β#11 grad_f + <void> β 4.00 + #4 *._e Virt/40 β#6 c β + <void> β 1.00e+1 β + #5 grad_*._e Virt/40β#7 grad_cβ + <void> β -2.00 β + #0 a β#2 b β β + 2.00 β -3.00 β β + #1 grad_aβ#3 grad_b β β + 6.00 β -4.00 β β |}]; (* 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. *) @@ -475,22 +442,22 @@ 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 + -8.00 + #13 grad_*._l Virt/40 + <void> + #8 +_d Virt/40 β#10 f + <void> β -2.00 + #9 grad_+_d Virt/40 β#11 grad_f + <void> β 4.00 + #4 *._e Virt/40 β#6 c β + <void> β 1.00e+1 β + #5 grad_*._e Virt/40β#7 grad_cβ + <void> β -2.00 β + #0 a β#2 b β β + 2.00 β -3.00 β β + #1 grad_aβ#3 grad_b β β + 6.00 β -4.00 β β |}] let%expect_test "tanh plot" = @@ -539,16 +506,16 @@ let%expect_test "2D neuron virtual" = Tensor.print_tree ~with_grad:true ~depth:9 v; [%expect {| - #8 +_v - 7.00e-1 - #9 grad_+_v Virt/40 - <void> - #6 * Local/46 β#0 b - <void> β 6.70 - #7 grad_* Virt/40 β#1 grad_b Local/46 - <void> β<void> - #2 w β#4 x β - -3.00 1.00 β 2.00 0.00 β - #3 grad_w Local/46β#5 grad_x Local/46β - <void> β<void> β + #8 +_v + 7.00e-1 + #9 grad_+_v Virt/40 + <void> + #6 * Local/1046 β#0 b + <void> β 6.70 + #7 grad_* Virt/40 β#1 grad_b + <void> β 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 β |}] File "test/moons_demo_parallel.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/moons_demo_parallel.ml _build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/moons_demo_parallel.ml.corrected diff --git a/_build/default/test/moons_demo_parallel.ml b/_build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/moons_demo_parallel.ml.corrected index ce09725..692629f 100644 --- a/_build/default/test/moons_demo_parallel.ml +++ b/_build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/moons_demo_parallel.ml.corrected @@ -105,4 +105,24 @@ let%expect_test "Half-moons data parallel" = ] in PrintBox_text.output Stdio.stdout plot_loss); - [%expect "Success"] + [%expect.unreachable] +[@@expect.uncaught_exn {| + (* CR expect_test_collector: This test expectation appears to contain a backtrace. + This is strongly discouraged as backtraces are fragile. + Please change this test to not include a backtrace. *) + (Option.value_exn arrayjit/lib/backends.ml:294:28) + Raised at Base__Error.raise in file "src/error.ml" (inlined), line 9, characters 21-37 + Called from Base__Option.value_exn in file "src/option.ml", line 119, characters 4-21 + Called from Backends.Add_device.link_batch in file "arrayjit/lib/backends.ml", line 294, characters 5-44 + Called from Backends.Raise_backend.link_batch in file "arrayjit/lib/backends.ml", line 487, characters 30-81 + Called from Ocannl__Train.parallel_update.(fun) in file "lib/train.ml", line 273, characters 15-96 + Re-raised at Ocannl__Train.parallel_update.(fun) in file "lib/train.ml", lines 271-273, characters 10-97 + Re-raised at Ocannl__Train.parallel_update.(fun) in file "lib/train.ml", lines 269-274, characters 23-18 + Called from Base__Array0.mapi in file "src/array0.ml", line 142, characters 24-46 + Called from Ocannl__Train.parallel_update in file "lib/train.ml", lines 269-274, characters 4-18 + Re-raised at Ocannl__Train.parallel_update in file "lib/train.ml", lines 266-274, characters 2-18 + Re-raised at Ocannl__Train.parallel_update in file "lib/train.ml", lines 233-320, characters 32-69 + Called from Ocannl__Train.example_train_loop in file "lib/train.ml", lines 419-429, characters 4-39 + Called from Tutorials__Moons_demo_parallel.(fun) in file "test/moons_demo_parallel.ml", lines 58-62, characters 4-8 + Called from Ppx_expect_runtime__Test_block.Configured.dump_backtrace in file "runtime/test_block.ml", line 142, characters 10-28 + |}] 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/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/micrograd_demo.ml.corrected diff --git a/_build/default/test/micrograd_demo.ml b/_build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/micrograd_demo.ml.corrected index 59a566d..3a67e85 100644 --- a/_build/default/test/micrograd_demo.ml +++ b/_build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/micrograd_demo.ml.corrected @@ -190,40 +190,40 @@ let%expect_test "Micrograd half-moons example" = β********************#*********************##*#*#****************************************************β β******************#***#*****##*#*#*#****#*#*#*##****************************************************β β**************#*#**###**#*##**##********#**#****###**#**********************************************β - β***********#***##***#**##*****************#*#*##*###**********************************************..β - β***************#**###******************************##*#******************************************...β - β*************#*****#******************************#*#***#*#*************************************....β - β*********#***#******************......************##*###**#************************************.....β - β******#***#*#*#****************........******************#*#*********************************.......β - β*****###****#****************...........****************#***********************************........β - β*******#*###****************.............******************#*#*****************************.........β - β**********##***************.......%%......***************#**##****************************..........β - β*****#***#****************......%..%%......*********************************************..........%.β - β**####*******************......%..%..........****************##*#**********************........%...%β - β****#*******************.......%%..%..........***************#*#**********************.........%....β - β*#****##***************.........%....%.........************##***#********************.......%...%%..β - β****#*#***************.........%..%.%...........*************#**#*******************..........%.%...β - β##*##****************............%...............**************#*##****************.........%.%.%%%.β - β**#####************............%...%%.............*******************************...........%..%.%..β - β******************...............%.%.%%............*********#*#*#*#*************................%%..β - β***##************................%..%..%............************#*#************.............%...%...β - β##**#***********...................%...%.............********#**###***********...........%.%%.......β - β###************..................%.%.%................***********##**********..................%....β - β**##**********.........................................**********#*********.............%%.%..%.....β - β**#**********......................%%...................********##********..............%%.%........β - β************..........................%..................****#**#********...................%.......β - β***********.........................%%.%..................*****##******...............%..%..........β - β**********.............................%%..................***********.................%%.%%........β - β*********..............................%...%................*******.....................%%%.........β - β********...................................%..%....................................%.....%..........β - β*******.................................%%..%.%................................%.%.%.%%.............β - β******.....................................%%.%...%%.%.......................%%%....%.%.%...........β - β*****....................................%.....%.%..%....................%.....%%.%.%...............β - β****........................................%%...%.%%%%..%.......%.........%%.%%....................β - β***...............................................%..%.......%..%%%%...%.%..%.%.....................β - β**.................................................%.%.%............%..%...%........................β - β*.................................................%....%.%......%%...%.%............................β - β..........................................................%..%......%%%.............................β + β***********#***##***#**##*****************#*#*##*###************************************************β + β***************#**###******************************##*#*********************************************β + β*************#*****#******************************#*#***#*#*****************************************β + β*********#***#************************************##*###**#*****************************************β + β******#***#*#*#******************************************#*#****************************************β + β*****###****#*******************************************#*******************************************β + β*******#*###***********************************************#*#**************************************β + β**********##**********************%%*********************#**##**************************************β + β*****#***#**********************%**%%*************************************************************%*β + β**####*************************%**%**************************##*#******************************%***%β + β****#**************************%%**%*************************#*#*******************************%****β + β*#****##************************%****%*********************##***#***************************%***%%**β + β****#*#************************%**%*%************************#**#*****************************%*%***β + β##*##****************************%*****************************#*##*************************%*%*%%%*β + β**#####************************%***%%*******************************************************%**%*%**β + β*********************************%*%*%%*********************#*#*#*#*****************************%%**β + β***##****************************%**%**%************************#*#*************************%***%***β + β##**#******************************%***%*********************#**###**********************%*%%*******β + β###******************************%*%*%***************************##****************************%****β + β**##*************************************************************#**********************%%*%**%*****β + β**#********************************%%***************************##**********************%%*%********β + β**************************************%**********************#**#***************************%*******β + β************************************%%*%***********************##*********************%**%**********β + β***************************************%%**********************************************%%*%%********β + β***************************************%***%********************************************%%%*********β + β*******************************************%**%************************************%*****%**********β + β****************************************%%**%*%********************************%*%*%*%%*************β + β*******************************************%%*%***%%*%***********************%%%****%*%*%***********β + β*****************************************%*****%*%**%********************%*****%%*%*%***************β + β********************************************%%***%*%%%%**%*******%*********%%*%%********************β + β**************************************************%**%*******%**%%%%***%*%**%*%*********************β + β***************************************************%*%*%************%**%***%************************β + β**************************************************%****%*%******%%***%*%****************************β + β**********************************************************%**%******%%%*****************************β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |}]; Stdio.printf "Loss:\n%!"; @@ -236,106 +236,106 @@ let%expect_test "Micrograd half-moons example" = {| Loss: ββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β 3.79e+1β- β + β 5.79e+6β - - - - - - - - - - β + β β - - - - - - - - - - β β β β β β β β β β β β β + β β - - - - - - - - - -β β β β + β β - - - - - - - - - - - - - - - - - - - -β + β β - - - - - - - - - - - - - - - - - - - - β β β β β β β β β β β β β + β β - - - - - - - - - - - - - - - - - - - -β + β β- - - - - - - - - - β + β β - - - - - - - - - - - - - - - - - - - - β + β β - - - - - - - - - -β + βl β - - - - - - - - - - - - - - - - - - - - β + βo β - - - - - - - - - - β + βs β - - - - - - - - - - - - - - - - - - - - β + βs β - - - - - - - - - - - - - - - - - - - - β + β β - - - - - - - - - - - - - - - - - - - - β β β β + β β- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - β + β β - - - - - - - - - - β + β β- - - - - - - - - - - - - - - - - - - - β + β β - - - - - - - - - - - - - - - - - - - - β + β β - - - - - - - - - - β β β β + β β - - - - - - - - - - β + β β - - - - - - - - - - β + β β - - - - - - - - - - β + β β - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - β β β β + β β- - - - - - - - - - β β β β β β β β β β - β β β - β β β - βl β β - βo β β - βs β β + β 1.69e+6β - - - - - - - - - - β + ββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ + β β0.00 3.99e+2β + β β step β + ββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ + |}]; + Stdio.printf "Log-loss, for better visibility:\n%!"; + let plot_loss = + PrintBox_utils.plot ~x_label:"step" ~y_label:"log loss" + [ Line_plot { points = Array.of_list_rev !log_losses; content = PrintBox.line "-" } ] + in + PrintBox_text.output Stdio.stdout plot_loss; + [%expect + {| + Log-loss, for better visibility: + ββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ + β 1.55e+1β - - - - - - - - - - β + β β - - - - - - - - - - β + β β β + β β β + β β - - - - - - - - - -β + β β - - - - - - - - - - - - - - - - - - - -β + β β - - - - - - - - - - - - - - - - - - - - β + β β β + β β β + β β - - - - - - - - - - - - - - - - - - - -β + β β- - - - - - - - - - β + β β - - - - - - - - - - - - - - - - - - - - β + β β - - - - - - - - - - - - - - - - - - - -β + β β - - - - - - - - - - β + β β - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - β + β β - - - - - - - - - - - - - - - - - - - - β + βl β - - - - - - - - - - β + βo β - - - - - - - - - - β + βg β- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - β + β β - - - - - - - - - - β + βl β- - - - - - - - - - β + βo β - - - - - - - - - - β + βs β - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - β βs β β β β β + β β - - - - - - - - - - β β β β + β β - - - - - - - - - - - - - - - - - - - - β + β β - - - - - - - - - - β + β β - - - - - - - - - - - - - - - - - - - - β β β β β β β + β β- - - - - - - - - - β β β β β β β β β β β β β - β β- β - β β β - β β β - β β β β β β β β β - β β β - β β β - β β- - - β - β 0.00 β----------------------------------------------------------------------------------------------------β + β 1.43e+1β - - - - - - - - - - β ββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β β0.00 3.99e+2β β β step β ββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |}]; - Stdio.printf "Log-loss, for better visibility:\n%!"; - let plot_loss = - PrintBox_utils.plot ~x_label:"step" ~y_label:"log loss" - [ Line_plot { points = Array.of_list_rev !log_losses; content = PrintBox.line "-" } ] - in - PrintBox_text.output Stdio.stdout plot_loss; - [%expect - {| - Log-loss, for better visibility: - βββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β 3.63 β- β - β β β - β β β - β β β - β β- β - β β β - β β β - β β β - β β β - β β- β - β β - - β - β β - - - β - β β------ - β - β β ---- - - --- - - - - - β - β β -- - - - --- -- - -- - β - β β - -- - - --- - - --- ----- - -- β - βl β -- - - - - --- - - - β - βo β - - - -- - -- - - - - - β - βg β - - - - -- - - - - - - - β - β β - - - -- - - - -- - - - β - βl β - - -- -- - - - - -β - βo β - - - - - - - - - - - β - βs β - - - - -- - β - βs β - - β - β β - - - - - - - - - β - β β - - - - - β - β β - - β - β β - - - β - β β - - β - β β β - β β - β - β β - β - β β β - β β β - β β β - β β β - β β - β - β β β - β β β - β -1.00e+1β - - - - ----- -- --------------- ---------------------------------------------------------β - βββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ - β β0.00 3.99e+2β - β β step β - βββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - |}]; Stdio.printf "\nLearning rate:\n%!"; let plot_lr = PrintBox_utils.plot ~x_label:"step" ~y_label:"learning rate" @@ -345,51 +345,51 @@ let%expect_test "Micrograd half-moons example" = [%expect {| 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 β - βββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ + ββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ + β -2.12e-14β β + β β β + β β β + β β β + β β β + β β β + β β β + β β β + β β β + β β β + β β β + β β β + β β β + βl β β + βe β β + βa β β + βr β β + βn β β + βi β β + βn β β + βg β β + β β β + βr β β + βa β β + βt β β + βe β β + β β β + β β β + β β β + β β β + β β β + β β β + β β β + β β β + β β β + β β β + β β β + β β β + β β β + β -2.12e-14β----------------------------------------------------------------------------------------------------β + ββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ + β β0.00 3.99e+2β + β β step β + ββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ |}]; (* Testing how the syntax extension %op creates labels for the resulting tensors: *) 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/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/hello_world_op.ml.corrected diff --git a/_build/default/test/hello_world_op.ml b/_build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/hello_world_op.ml.corrected index 5674865..560884c 100644 --- a/_build/default/test/hello_world_op.ml +++ b/_build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/hello_world_op.ml.corrected @@ -108,7 +108,7 @@ let%expect_test "Print constant tensor" = Tensor.print ~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 [ + [0]: c2x3_hey shape 1:3->0:2 [ 1.00 , 2.00 , 3.00 ; 4.00 , 5.00 , 6.00 ] @@ -116,22 +116,22 @@ let%expect_test "Print constant tensor" = 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]: c2x3_hey shape 1:3->0:2 β + βββββββββ¬βββββββββββββββββββ β + ββ βaxis 1 β β + βββββββββΌβββββββββββββββββββ€ β + ββaxis 0β 1.00 2.00 3.00 β β + ββ β 4.00 5.00 6.00 β β + βββββββββ΄βββββββββββββββββββ β + βββββββββββββββββββββββββββββββ |}]; let%op hoo = [| [ 1; 2; 3 ]; [ 4; 5; 6 ] |] in Train.forward_and_forget backend ctx hoo; Tensor.print ~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 [| + [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 ] |] @@ -140,7 +140,7 @@ let%expect_test "Print constant tensor" = [%expect {| βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β[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 β β βββββββββΌβββββββββββββββββββ€ β @@ -516,43 +516,10 @@ let%expect_test "Big matrix" = Train.forward_and_forget backend ctx y; Tensor.print ~with_code:false ~with_grad:false `Inline zero_to_twenty; [%expect - {| - [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 - ] - |}]; + {| [2]: 0...20 shape 0:21 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default zero_to_twenty; [%expect - {| - ββββββββββββββββββββββββββββββββββββββββ - β[2]: 0...20 shape 0:21 β - βββ¬βββββββββββββββββββββββββββββββββββββ - βββaxis 0 ββ - βββΌββββββββββββββββββββββββββββββββββββ€β - βββ 0.00 1.00 ... 1.90e+1 2.00e+1 ββ - βββ΄βββββββββββββββββββββββββββββββββββββ - ββββββββββββββββββββββββββββββββββββββββ - |}]; + {| [2]: 0...20 shape 0:21 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default hey; [%expect {| @@ -603,140 +570,7 @@ let%expect_test "Very big tensor" = Train.forward_and_forget backend ctx hoo; Tensor.print ~with_code:false ~with_grad:false `Default hey; [%expect - {| - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β[0]: r6x10x11x7x8x9 shape 0:6|3:7,4:8,5:9->1:10,2:11 β - βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ - ββ0 @ 0 β0 @ 4 β1 @ 4 β~~~~~ β6 @ 4 β7 @ 4 ββ - ββ βaxis 5 βaxis 5 βaxis 5βaxis 5 βaxis 5 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 1 β 0.00 1.00 ... 7.00 8.00 β 9.00 1.00e+1 ... 1.60e+1 1.70e+1 β ... β 5.40e+1 5.50e+1 ... 6.10e+1 6.20e+1 β 6.30e+1 6.40e+1 ... 7.00e+1 7.10e+1 ββ - ββaxis 2β 5.04e+2 5.05e+2 ... 5.11e+2 5.12e+2 β 5.13e+2 5.14e+2 ... 5.20e+2 5.21e+2 β β 5.58e+2 5.59e+2 ... 5.65e+2 5.66e+2 β 5.67e+2 5.68e+2 ... 5.74e+2 5.75e+2 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 4.53e+3 4.53e+3 ... 4.54e+3 4.54e+3 β 4.54e+3 4.54e+3 ... 4.55e+3 4.55e+3 β β 4.59e+3 4.59e+3 ... 4.59e+3 4.59e+3 β 4.59e+3 4.60e+3 ... 4.60e+3 4.60e+3 ββ - ββ β 5.04e+3 5.04e+3 ... 5.04e+3 5.04e+3 β 5.04e+3 5.05e+3 ... 5.05e+3 5.05e+3 β β 5.09e+3 5.09e+3 ... 5.10e+3 5.10e+3 β 5.10e+3 5.10e+3 ... 5.11e+3 5.11e+3 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 1 β 5.54e+3 5.54e+3 ... 5.55e+3 5.55e+3 β 5.55e+3 5.55e+3 ... 5.56e+3 5.56e+3 β ... β 5.59e+3 5.59e+3 ... 5.60e+3 5.60e+3 β 5.60e+3 5.60e+3 ... 5.61e+3 5.61e+3 ββ - ββaxis 2β 6.04e+3 6.04e+3 ... 6.05e+3 6.05e+3 β 6.05e+3 6.05e+3 ... 6.06e+3 6.06e+3 β β 6.10e+3 6.10e+3 ... 6.10e+3 6.11e+3 β 6.11e+3 6.11e+3 ... 6.11e+3 6.11e+3 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.00e+4 1.00e+4 ... 1.00e+4 1.00e+4 β 1.00e+4 1.00e+4 ... 1.00e+4 1.00e+4 β β 1.01e+4 1.01e+4 ... 1.01e+4 1.01e+4 β 1.01e+4 1.01e+4 ... 1.01e+4 1.01e+4 ββ - ββ β 1.05e+4 1.05e+4 ... 1.05e+4 1.05e+4 β 1.05e+4 1.05e+4 ... 1.06e+4 1.06e+4 β β 1.06e+4 1.06e+4 ... 1.06e+4 1.06e+4 β 1.06e+4 1.06e+4 ... 1.06e+4 1.06e+4 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ~~~~~ β ... β ... β ... β ... β ... ββ - ββaxis 2β β β β β ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ8 @ 1 β 4.43e+4 4.43e+4 ... 4.43e+4 4.43e+4 β 4.43e+4 4.43e+4 ... 4.43e+4 4.43e+4 β ... β 4.44e+4 4.44e+4 ... 4.44e+4 4.44e+4 β 4.44e+4 4.44e+4 ... 4.44e+4 4.44e+4 ββ - ββaxis 2β 4.48e+4 4.48e+4 ... 4.48e+4 4.48e+4 β 4.48e+4 4.48e+4 ... 4.48e+4 4.48e+4 β β 4.49e+4 4.49e+4 ... 4.49e+4 4.49e+4 β 4.49e+4 4.49e+4 ... 4.49e+4 4.49e+4 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 4.88e+4 4.88e+4 ... 4.88e+4 4.88e+4 β 4.88e+4 4.88e+4 ... 4.89e+4 4.89e+4 β β 4.89e+4 4.89e+4 ... 4.89e+4 4.89e+4 β 4.89e+4 4.89e+4 ... 4.89e+4 4.89e+4 ββ - ββ β 4.93e+4 4.93e+4 ... 4.93e+4 4.94e+4 β 4.94e+4 4.94e+4 ... 4.94e+4 4.94e+4 β β 4.94e+4 4.94e+4 ... 4.94e+4 4.94e+4 β 4.94e+4 4.94e+4 ... 4.94e+4 4.94e+4 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ9 @ 1 β 4.98e+4 4.98e+4 ... 4.99e+4 4.99e+4 β 4.99e+4 4.99e+4 ... 4.99e+4 4.99e+4 β ... β 4.99e+4 4.99e+4 ... 4.99e+4 4.99e+4 β 4.99e+4 4.99e+4 ... 4.99e+4 4.99e+4 ββ - ββaxis 2β 5.04e+4 5.04e+4 ... 5.04e+4 5.04e+4 β 5.04e+4 5.04e+4 ... 5.04e+4 5.04e+4 β β 5.04e+4 5.04e+4 ... 5.04e+4 5.04e+4 β 5.04e+4 5.04e+4 ... 5.04e+4 5.04e+4 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 5.44e+4 5.44e+4 ... 5.44e+4 5.44e+4 β 5.44e+4 5.44e+4 ... 5.44e+4 5.44e+4 β β 5.44e+4 5.44e+4 ... 5.44e+4 5.44e+4 β 5.44e+4 5.44e+4 ... 5.45e+4 5.45e+4 ββ - ββ β 5.49e+4 5.49e+4 ... 5.49e+4 5.49e+4 β 5.49e+4 5.49e+4 ... 5.49e+4 5.49e+4 β β 5.49e+4 5.49e+4 ... 5.49e+4 5.49e+4 β 5.49e+4 5.50e+4 ... 5.50e+4 5.50e+4 ββ - βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ - βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ - ββ1 @ 0 β0 @ 4 β1 @ 4 β~~~~~ β6 @ 4 β7 @ 4 ββ - ββ βaxis 5 βaxis 5 βaxis 5βaxis 5 βaxis 5 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 1 β 5.54e+4 5.54e+4 ... 5.54e+4 5.54e+4 β 5.54e+4 5.54e+4 ... 5.54e+4 5.54e+4 β ... β 5.54e+4 5.54e+4 ... 5.55e+4 5.55e+4 β 5.55e+4 5.55e+4 ... 5.55e+4 5.55e+4 ββ - ββaxis 2β 5.59e+4 5.59e+4 ... 5.59e+4 5.59e+4 β 5.59e+4 5.59e+4 ... 5.59e+4 5.59e+4 β β 5.59e+4 5.59e+4 ... 5.60e+4 5.60e+4 β 5.60e+4 5.60e+4 ... 5.60e+4 5.60e+4 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 5.99e+4 5.99e+4 ... 5.99e+4 5.99e+4 β 5.99e+4 5.99e+4 ... 5.99e+4 5.99e+4 β β 6.00e+4 6.00e+4 ... 6.00e+4 6.00e+4 β 6.00e+4 6.00e+4 ... 6.00e+4 6.00e+4 ββ - ββ β 6.04e+4 6.04e+4 ... 6.04e+4 6.04e+4 β 6.04e+4 6.04e+4 ... 6.04e+4 6.04e+4 β β 6.05e+4 6.05e+4 ... 6.05e+4 6.05e+4 β 6.05e+4 6.05e+4 ... 6.05e+4 6.05e+4 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 1 β 6.09e+4 6.09e+4 ... 6.09e+4 6.09e+4 β 6.09e+4 6.09e+4 ... 6.10e+4 6.10e+4 β ... β 6.10e+4 6.10e+4 ... 6.10e+4 6.10e+4 β 6.10e+4 6.10e+4 ... 6.10e+4 6.10e+4 ββ - ββaxis 2β 6.14e+4 6.14e+4 ... 6.14e+4 6.14e+4 β 6.14e+4 6.14e+4 ... 6.15e+4 6.15e+4 β β 6.15e+4 6.15e+4 ... 6.15e+4 6.15e+4 β 6.15e+4 6.15e+4 ... 6.15e+4 6.15e+4 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 6.55e+4 6.55e+4 ... 6.55e+4 6.55e+4 β 6.55e+4 6.55e+4 ... 6.55e+4 6.55e+4 β β 6.55e+4 6.55e+4 ... 6.55e+4 6.55e+4 β 6.55e+4 6.55e+4 ... 6.55e+4 6.55e+4 ββ - ββ β 6.60e+4 6.60e+4 ... 6.60e+4 6.60e+4 β 6.60e+4 6.60e+4 ... 6.60e+4 6.60e+4 β β 6.60e+4 6.60e+4 ... 6.60e+4 6.60e+4 β 6.60e+4 6.60e+4 ... 6.60e+4 6.60e+4 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ~~~~~ β ... β ... β ... β ... β ... ββ - ββaxis 2β β β β β ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ8 @ 1 β 9.97e+4 9.97e+4 ... 9.97e+4 9.98e+4 β 9.98e+4 9.98e+4 ... 9.98e+4 9.98e+4 β ... β 9.98e+4 9.98e+4 ... 9.98e+4 9.98e+4 β 9.98e+4 9.98e+4 ... 9.98e+4 9.98e+4 ββ - ββaxis 2β 1.00e+5 1.00e+5 ... 1.00e+5 1.00e+5 β 1.00e+5 1.00e+5 ... 1.00e+5 1.00e+5 β β 1.00e+5 1.00e+5 ... 1.00e+5 1.00e+5 β 1.00e+5 1.00e+5 ... 1.00e+5 1.00e+5 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 β β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 ββ - ββ β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 β β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 β 1.04e+5 1.04e+5 ... 1.04e+5 1.04e+5 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ9 @ 1 β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β ... β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 ββ - ββaxis 2β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 β 1.05e+5 1.05e+5 ... 1.05e+5 1.05e+5 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.09e+5 1.09e+5 ... 1.09e+5 1.09e+5 β 1.09e+5 1.09e+5 ... 1.09e+5 1.09e+5 β β 1.09e+5 1.09e+5 ... 1.09e+5 1.09e+5 β 1.09e+5 1.09e+5 ... 1.09e+5 1.09e+5 ββ - ββ β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 β β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 β 1.10e+5 1.10e+5 ... 1.10e+5 1.10e+5 ββ - βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ - β ... β - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ - βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ - ββ4 @ 0 β0 @ 4 β1 @ 4 β~~~~~ β6 @ 4 β7 @ 4 ββ - ββ βaxis 5 βaxis 5 βaxis 5βaxis 5 βaxis 5 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 1 β 2.21e+5 2.21e+5 ... 2.21e+5 2.21e+5 β 2.21e+5 2.21e+5 ... 2.21e+5 2.21e+5 β ... β 2.21e+5 2.21e+5 ... 2.21e+5 2.21e+5 β 2.21e+5 2.21e+5 ... 2.21e+5 2.21e+5 ββ - ββaxis 2β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 β β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 β 2.22e+5 2.22e+5 ... 2.22e+5 2.22e+5 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 ββ - ββ β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 β 2.26e+5 2.26e+5 ... 2.26e+5 2.26e+5 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 1 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β ... β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 ββ - ββaxis 2β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 β 2.27e+5 2.27e+5 ... 2.27e+5 2.27e+5 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 2.31e+5 2.31e+5 ... 2.31e+5 2.31e+5 β 2.31e+5 2.31e+5 ... 2.31e+5 2.31e+5 β β 2.31e+5 2.31e+5 ... 2.31e+5 2.31e+5 β 2.31e+5 2.31e+5 ... 2.31e+5 2.31e+5 ββ - ββ β 2.32e+5 2.32e+5 ... 2.32e+5 2.32e+5 β 2.32e+5 2.32e+5 ... 2.32e+5 2.32e+5 β β 2.32e+5 2.32e+5 ... 2.32e+5 2.32e+5 β 2.32e+5 2.32e+5 ... 2.32e+5 2.32e+5 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ~~~~~ β ... β ... β ... β ... β ... ββ - ββaxis 2β β β β β ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ8 @ 1 β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 β ... β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 ββ - ββaxis 2β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 β β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 β 2.66e+5 2.66e+5 ... 2.66e+5 2.66e+5 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 β β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 β 2.70e+5 2.70e+5 ... 2.70e+5 2.70e+5 ββ - ββ β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ9 @ 1 β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β ... β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 β 2.71e+5 2.71e+5 ... 2.71e+5 2.71e+5 ββ - ββaxis 2β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 β β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 β 2.72e+5 2.72e+5 ... 2.72e+5 2.72e+5 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 ββ - ββ β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 β 2.76e+5 2.76e+5 ... 2.76e+5 2.76e+5 ββ - βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ - βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ - ββ5 @ 0 β0 @ 4 β1 @ 4 β~~~~~ β6 @ 4 β7 @ 4 ββ - ββ βaxis 5 βaxis 5 βaxis 5βaxis 5 βaxis 5 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 1 β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β ... β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 ββ - ββaxis 2β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 β 2.77e+5 2.77e+5 ... 2.77e+5 2.77e+5 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 2.81e+5 2.81e+5 ... 2.81e+5 2.81e+5 β 2.81e+5 2.81e+5 ... 2.81e+5 2.81e+5 β β 2.81e+5 2.81e+5 ... 2.81e+5 2.81e+5 β 2.81e+5 2.81e+5 ... 2.81e+5 2.81e+5 ββ - ββ β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 1 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β ... β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 β 2.82e+5 2.82e+5 ... 2.82e+5 2.82e+5 ββ - ββaxis 2β 2.83e+5 2.83e+5 ... 2.83e+5 2.83e+5 β 2.83e+5 2.83e+5 ... 2.83e+5 2.83e+5 β β 2.83e+5 2.83e+5 ... 2.83e+5 2.83e+5 β 2.83e+5 2.83e+5 ... 2.83e+5 2.83e+5 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 ββ - ββ β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 β 2.87e+5 2.87e+5 ... 2.87e+5 2.87e+5 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ~~~~~ β ... β ... β ... β ... β ... ββ - ββaxis 2β β β β β ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ8 @ 1 β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 β ... β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 β 3.21e+5 3.21e+5 ... 3.21e+5 3.21e+5 ββ - ββaxis 2β 3.22e+5 3.22e+5 ... 3.22e+5 3.22e+5 β 3.22e+5 3.22e+5 ... 3.22e+5 3.22e+5 β β 3.22e+5 3.22e+5 ... 3.22e+5 3.22e+5 β 3.22e+5 3.22e+5 ... 3.22e+5 3.22e+5 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 ββ - ββ β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 β 3.26e+5 3.26e+5 ... 3.26e+5 3.26e+5 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌβββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββ9 @ 1 β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β ... β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 ββ - ββaxis 2β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 β 3.27e+5 3.27e+5 ... 3.27e+5 3.27e+5 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 β β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 β 3.31e+5 3.31e+5 ... 3.31e+5 3.31e+5 ββ - ββ β 3.32e+5 3.32e+5 ... 3.32e+5 3.32e+5 β 3.32e+5 3.32e+5 ... 3.32e+5 3.32e+5 β β 3.32e+5 3.32e+5 ... 3.32e+5 3.32e+5 β 3.32e+5 3.32e+5 ... 3.32e+5 3.32e+5 ββ - βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - |}]; + {| [0]: r6x10x11x7x8x9 shape 0:6|3:7,4:8,5:9->1:10,2:11 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default hoo; (* Disable line wrapping for viewing the output. In VSCode: `View: Toggle Word Wrap`. *) [%expect File "test/einsum_trivia.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/einsum_trivia.ml _build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/einsum_trivia.ml.corrected diff --git a/_build/default/test/einsum_trivia.ml b/_build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/einsum_trivia.ml.corrected index 35a36fa..0fe764c 100644 --- a/_build/default/test/einsum_trivia.ml +++ b/_build/.sandbox/2581a47b1564f3d6ba4d46e22dfefc4b/default/test/einsum_trivia.ml.corrected @@ -28,20 +28,7 @@ let%expect_test "einsum1 permute axes" = Train.forward_and_forget backend ctx ho; Tensor.print ~with_code:false ~with_grad:false `Default @@ hey; [%expect - {| - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β[0]: r2x4x3 shape 0:2|2:3->1:4 β - βββββββββ¬βββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ - ββ β0 @ 0 β1 @ 0 ββ - ββ βaxis 2 βaxis 2 ββ - βββββββββΌβββββββββββββββββββββββββΌββββββββββββββββββββββββββββ€β - ββaxis 1β 0.00 1.00 2.00 β 1.20e+1 1.30e+1 1.40e+1 ββ - ββ β 3.00 4.00 5.00 β 1.50e+1 1.60e+1 1.70e+1 ββ - ββ β 6.00 7.00 8.00 β 1.80e+1 1.90e+1 2.00e+1 ββ - ββ β 9.00 1.00e+1 1.10e+1 β 2.10e+1 2.20e+1 2.30e+1 ββ - βββββββββ΄βββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - |}]; + {| [0]: r2x4x3 shape 0:2|2:3->1:4 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ ho; [%expect {| @@ -64,106 +51,7 @@ let%expect_test "einsum1 permute axes" = Train.forward_and_forget backend ctx ho2; Tensor.print ~with_code:false ~with_grad:false `Default @@ hey2; [%expect - {| - ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β[2]: r2x3x6x7x4x5 shape 0:2,1:3|4:4,5:5->2:6,3:7 β - βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββ - ββ0 @ 1 β0 @ 4 β1 @ 4 β2 @ 4 β3 @ 4 ββ - ββ βaxis 5 βaxis 5 βaxis 5 βaxis 5 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 2 β 0.00 1.00 2.00 3.00 4.00 β 5.00 6.00 7.00 8.00 9.00 β 1.00e+1 1.10e+1 1.20e+1 1.30e+1 1.40e+1 β 1.50e+1 1.60e+1 1.70e+1 1.80e+1 1.90e+1 ββ - ββaxis 3β 2.00e+1 2.10e+1 2.20e+1 2.30e+1 2.40e+1 β 2.50e+1 2.60e+1 2.70e+1 2.80e+1 2.90e+1 β 3.00e+1 3.10e+1 3.20e+1 3.30e+1 3.40e+1 β 3.50e+1 3.60e+1 3.70e+1 3.80e+1 3.90e+1 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.00e+2 1.01e+2 1.02e+2 1.03e+2 1.04e+2 β 1.05e+2 1.06e+2 1.07e+2 1.08e+2 1.09e+2 β 1.10e+2 1.11e+2 1.12e+2 1.13e+2 1.14e+2 β 1.15e+2 1.16e+2 1.17e+2 1.18e+2 1.19e+2 ββ - ββ β 1.20e+2 1.21e+2 1.22e+2 1.23e+2 1.24e+2 β 1.25e+2 1.26e+2 1.27e+2 1.28e+2 1.29e+2 β 1.30e+2 1.31e+2 1.32e+2 1.33e+2 1.34e+2 β 1.35e+2 1.36e+2 1.37e+2 1.38e+2 1.39e+2 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 2 β 1.40e+2 1.41e+2 1.42e+2 1.43e+2 1.44e+2 β 1.45e+2 1.46e+2 1.47e+2 1.48e+2 1.49e+2 β 1.50e+2 1.51e+2 1.52e+2 1.53e+2 1.54e+2 β 1.55e+2 1.56e+2 1.57e+2 1.58e+2 1.59e+2 ββ - ββaxis 3β 1.60e+2 1.61e+2 1.62e+2 1.63e+2 1.64e+2 β 1.65e+2 1.66e+2 1.67e+2 1.68e+2 1.69e+2 β 1.70e+2 1.71e+2 1.72e+2 1.73e+2 1.74e+2 β 1.75e+2 1.76e+2 1.77e+2 1.78e+2 1.79e+2 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 2.40e+2 2.41e+2 2.42e+2 2.43e+2 2.44e+2 β 2.45e+2 2.46e+2 2.47e+2 2.48e+2 2.49e+2 β 2.50e+2 2.51e+2 2.52e+2 2.53e+2 2.54e+2 β 2.55e+2 2.56e+2 2.57e+2 2.58e+2 2.59e+2 ββ - ββ β 2.60e+2 2.61e+2 2.62e+2 2.63e+2 2.64e+2 β 2.65e+2 2.66e+2 2.67e+2 2.68e+2 2.69e+2 β 2.70e+2 2.71e+2 2.72e+2 2.73e+2 2.74e+2 β 2.75e+2 2.76e+2 2.77e+2 2.78e+2 2.79e+2 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ~~~~~ β ... β ... β ... β ... ββ - ββaxis 3β β β β ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ4 @ 2 β 5.60e+2 5.61e+2 5.62e+2 5.63e+2 5.64e+2 β 5.65e+2 5.66e+2 5.67e+2 5.68e+2 5.69e+2 β 5.70e+2 5.71e+2 5.72e+2 5.73e+2 5.74e+2 β 5.75e+2 5.76e+2 5.77e+2 5.78e+2 5.79e+2 ββ - ββaxis 3β 5.80e+2 5.81e+2 5.82e+2 5.83e+2 5.84e+2 β 5.85e+2 5.86e+2 5.87e+2 5.88e+2 5.89e+2 β 5.90e+2 5.91e+2 5.92e+2 5.93e+2 5.94e+2 β 5.95e+2 5.96e+2 5.97e+2 5.98e+2 5.99e+2 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 6.60e+2 6.61e+2 6.62e+2 6.63e+2 6.64e+2 β 6.65e+2 6.66e+2 6.67e+2 6.68e+2 6.69e+2 β 6.70e+2 6.71e+2 6.72e+2 6.73e+2 6.74e+2 β 6.75e+2 6.76e+2 6.77e+2 6.78e+2 6.79e+2 ββ - ββ β 6.80e+2 6.81e+2 6.82e+2 6.83e+2 6.84e+2 β 6.85e+2 6.86e+2 6.87e+2 6.88e+2 6.89e+2 β 6.90e+2 6.91e+2 6.92e+2 6.93e+2 6.94e+2 β 6.95e+2 6.96e+2 6.97e+2 6.98e+2 6.99e+2 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ5 @ 2 β 7.00e+2 7.01e+2 7.02e+2 7.03e+2 7.04e+2 β 7.05e+2 7.06e+2 7.07e+2 7.08e+2 7.09e+2 β 7.10e+2 7.11e+2 7.12e+2 7.13e+2 7.14e+2 β 7.15e+2 7.16e+2 7.17e+2 7.18e+2 7.19e+2 ββ - ββaxis 3β 7.20e+2 7.21e+2 7.22e+2 7.23e+2 7.24e+2 β 7.25e+2 7.26e+2 7.27e+2 7.28e+2 7.29e+2 β 7.30e+2 7.31e+2 7.32e+2 7.33e+2 7.34e+2 β 7.35e+2 7.36e+2 7.37e+2 7.38e+2 7.39e+2 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 8.00e+2 8.01e+2 8.02e+2 8.03e+2 8.04e+2 β 8.05e+2 8.06e+2 8.07e+2 8.08e+2 8.09e+2 β 8.10e+2 8.11e+2 8.12e+2 8.13e+2 8.14e+2 β 8.15e+2 8.16e+2 8.17e+2 8.18e+2 8.19e+2 ββ - ββ β 8.20e+2 8.21e+2 8.22e+2 8.23e+2 8.24e+2 β 8.25e+2 8.26e+2 8.27e+2 8.28e+2 8.29e+2 β 8.30e+2 8.31e+2 8.32e+2 8.33e+2 8.34e+2 β 8.35e+2 8.36e+2 8.37e+2 8.38e+2 8.39e+2 ββ - βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββ - ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ - βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββ - ββ1 @ 1 β0 @ 4 β1 @ 4 β2 @ 4 β3 @ 4 ββ - ββ βaxis 5 βaxis 5 βaxis 5 βaxis 5 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 2 β 8.40e+2 8.41e+2 8.42e+2 8.43e+2 8.44e+2 β 8.45e+2 8.46e+2 8.47e+2 8.48e+2 8.49e+2 β 8.50e+2 8.51e+2 8.52e+2 8.53e+2 8.54e+2 β 8.55e+2 8.56e+2 8.57e+2 8.58e+2 8.59e+2 ββ - ββaxis 3β 8.60e+2 8.61e+2 8.62e+2 8.63e+2 8.64e+2 β 8.65e+2 8.66e+2 8.67e+2 8.68e+2 8.69e+2 β 8.70e+2 8.71e+2 8.72e+2 8.73e+2 8.74e+2 β 8.75e+2 8.76e+2 8.77e+2 8.78e+2 8.79e+2 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 9.40e+2 9.41e+2 9.42e+2 9.43e+2 9.44e+2 β 9.45e+2 9.46e+2 9.47e+2 9.48e+2 9.49e+2 β 9.50e+2 9.51e+2 9.52e+2 9.53e+2 9.54e+2 β 9.55e+2 9.56e+2 9.57e+2 9.58e+2 9.59e+2 ββ - ββ β 9.60e+2 9.61e+2 9.62e+2 9.63e+2 9.64e+2 β 9.65e+2 9.66e+2 9.67e+2 9.68e+2 9.69e+2 β 9.70e+2 9.71e+2 9.72e+2 9.73e+2 9.74e+2 β 9.75e+2 9.76e+2 9.77e+2 9.78e+2 9.79e+2 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 2 β 9.80e+2 9.81e+2 9.82e+2 9.83e+2 9.84e+2 β 9.85e+2 9.86e+2 9.87e+2 9.88e+2 9.89e+2 β 9.90e+2 9.91e+2 9.92e+2 9.93e+2 9.94e+2 β 9.95e+2 9.96e+2 9.97e+2 9.98e+2 9.99e+2 ββ - ββaxis 3β 1.00e+3 1.00e+3 1.00e+3 1.00e+3 1.00e+3 β 1.00e+3 1.00e+3 1.00e+3 1.00e+3 1.00e+3 β 1.01e+3 1.01e+3 1.01e+3 1.01e+3 1.01e+3 β 1.01e+3 1.01e+3 1.01e+3 1.01e+3 1.01e+3 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.08e+3 1.08e+3 1.08e+3 1.08e+3 1.08e+3 β 1.08e+3 1.08e+3 1.08e+3 1.08e+3 1.08e+3 β 1.09e+3 1.09e+3 1.09e+3 1.09e+3 1.09e+3 β 1.09e+3 1.09e+3 1.09e+3 1.09e+3 1.09e+3 ββ - ββ β 1.10e+3 1.10e+3 1.10e+3 1.10e+3 1.10e+3 β 1.10e+3 1.10e+3 1.10e+3 1.10e+3 1.10e+3 β 1.11e+3 1.11e+3 1.11e+3 1.11e+3 1.11e+3 β 1.11e+3 1.11e+3 1.11e+3 1.11e+3 1.11e+3 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ~~~~~ β ... β ... β ... β ... ββ - ββaxis 3β β β β ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ4 @ 2 β 1.40e+3 1.40e+3 1.40e+3 1.40e+3 1.40e+3 β 1.40e+3 1.40e+3 1.40e+3 1.40e+3 1.40e+3 β 1.41e+3 1.41e+3 1.41e+3 1.41e+3 1.41e+3 β 1.41e+3 1.41e+3 1.41e+3 1.41e+3 1.41e+3 ββ - ββaxis 3β 1.42e+3 1.42e+3 1.42e+3 1.42e+3 1.42e+3 β 1.42e+3 1.42e+3 1.42e+3 1.42e+3 1.42e+3 β 1.43e+3 1.43e+3 1.43e+3 1.43e+3 1.43e+3 β 1.43e+3 1.43e+3 1.43e+3 1.43e+3 1.43e+3 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.50e+3 1.50e+3 1.50e+3 1.50e+3 1.50e+3 β 1.50e+3 1.50e+3 1.50e+3 1.50e+3 1.50e+3 β 1.51e+3 1.51e+3 1.51e+3 1.51e+3 1.51e+3 β 1.51e+3 1.51e+3 1.51e+3 1.51e+3 1.51e+3 ββ - ββ β 1.52e+3 1.52e+3 1.52e+3 1.52e+3 1.52e+3 β 1.52e+3 1.52e+3 1.52e+3 1.52e+3 1.52e+3 β 1.53e+3 1.53e+3 1.53e+3 1.53e+3 1.53e+3 β 1.53e+3 1.53e+3 1.53e+3 1.53e+3 1.53e+3 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ5 @ 2 β 1.54e+3 1.54e+3 1.54e+3 1.54e+3 1.54e+3 β 1.54e+3 1.54e+3 1.54e+3 1.54e+3 1.54e+3 β 1.55e+3 1.55e+3 1.55e+3 1.55e+3 1.55e+3 β 1.55e+3 1.55e+3 1.55e+3 1.55e+3 1.55e+3 ββ - ββaxis 3β 1.56e+3 1.56e+3 1.56e+3 1.56e+3 1.56e+3 β 1.56e+3 1.56e+3 1.56e+3 1.56e+3 1.56e+3 β 1.57e+3 1.57e+3 1.57e+3 1.57e+3 1.57e+3 β 1.57e+3 1.57e+3 1.57e+3 1.57e+3 1.57e+3 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.64e+3 1.64e+3 1.64e+3 1.64e+3 1.64e+3 β 1.64e+3 1.64e+3 1.64e+3 1.64e+3 1.64e+3 β 1.65e+3 1.65e+3 1.65e+3 1.65e+3 1.65e+3 β 1.65e+3 1.65e+3 1.65e+3 1.65e+3 1.65e+3 ββ - ββ β 1.66e+3 1.66e+3 1.66e+3 1.66e+3 1.66e+3 β 1.66e+3 1.66e+3 1.66e+3 1.66e+3 1.66e+3 β 1.67e+3 1.67e+3 1.67e+3 1.67e+3 1.67e+3 β 1.67e+3 1.67e+3 1.67e+3 1.67e+3 1.67e+3 ββ - βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββ - ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ - βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββ - ββ2 @ 1 β0 @ 4 β1 @ 4 β2 @ 4 β3 @ 4 ββ - ββ βaxis 5 βaxis 5 βaxis 5 βaxis 5 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 2 β 1.68e+3 1.68e+3 1.68e+3 1.68e+3 1.68e+3 β 1.68e+3 1.68e+3 1.68e+3 1.68e+3 1.68e+3 β 1.69e+3 1.69e+3 1.69e+3 1.69e+3 1.69e+3 β 1.69e+3 1.69e+3 1.69e+3 1.69e+3 1.69e+3 ββ - ββaxis 3β 1.70e+3 1.70e+3 1.70e+3 1.70e+3 1.70e+3 β 1.70e+3 1.70e+3 1.70e+3 1.70e+3 1.70e+3 β 1.71e+3 1.71e+3 1.71e+3 1.71e+3 1.71e+3 β 1.71e+3 1.71e+3 1.71e+3 1.71e+3 1.71e+3 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.78e+3 1.78e+3 1.78e+3 1.78e+3 1.78e+3 β 1.78e+3 1.78e+3 1.78e+3 1.78e+3 1.78e+3 β 1.79e+3 1.79e+3 1.79e+3 1.79e+3 1.79e+3 β 1.79e+3 1.79e+3 1.79e+3 1.79e+3 1.79e+3 ββ - ββ β 1.80e+3 1.80e+3 1.80e+3 1.80e+3 1.80e+3 β 1.80e+3 1.80e+3 1.80e+3 1.80e+3 1.80e+3 β 1.81e+3 1.81e+3 1.81e+3 1.81e+3 1.81e+3 β 1.81e+3 1.81e+3 1.81e+3 1.81e+3 1.81e+3 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 2 β 1.82e+3 1.82e+3 1.82e+3 1.82e+3 1.82e+3 β 1.82e+3 1.82e+3 1.82e+3 1.82e+3 1.82e+3 β 1.83e+3 1.83e+3 1.83e+3 1.83e+3 1.83e+3 β 1.83e+3 1.83e+3 1.83e+3 1.83e+3 1.83e+3 ββ - ββaxis 3β 1.84e+3 1.84e+3 1.84e+3 1.84e+3 1.84e+3 β 1.84e+3 1.84e+3 1.84e+3 1.84e+3 1.84e+3 β 1.85e+3 1.85e+3 1.85e+3 1.85e+3 1.85e+3 β 1.85e+3 1.85e+3 1.85e+3 1.85e+3 1.85e+3 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 1.92e+3 1.92e+3 1.92e+3 1.92e+3 1.92e+3 β 1.92e+3 1.92e+3 1.92e+3 1.92e+3 1.92e+3 β 1.93e+3 1.93e+3 1.93e+3 1.93e+3 1.93e+3 β 1.93e+3 1.93e+3 1.93e+3 1.93e+3 1.93e+3 ββ - ββ β 1.94e+3 1.94e+3 1.94e+3 1.94e+3 1.94e+3 β 1.94e+3 1.94e+3 1.94e+3 1.94e+3 1.94e+3 β 1.95e+3 1.95e+3 1.95e+3 1.95e+3 1.95e+3 β 1.95e+3 1.95e+3 1.95e+3 1.95e+3 1.95e+3 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ~~~~~ β ... β ... β ... β ... ββ - ββaxis 3β β β β ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ4 @ 2 β 2.24e+3 2.24e+3 2.24e+3 2.24e+3 2.24e+3 β 2.24e+3 2.24e+3 2.24e+3 2.24e+3 2.24e+3 β 2.25e+3 2.25e+3 2.25e+3 2.25e+3 2.25e+3 β 2.25e+3 2.25e+3 2.25e+3 2.25e+3 2.25e+3 ββ - ββaxis 3β 2.26e+3 2.26e+3 2.26e+3 2.26e+3 2.26e+3 β 2.26e+3 2.26e+3 2.26e+3 2.26e+3 2.26e+3 β 2.27e+3 2.27e+3 2.27e+3 2.27e+3 2.27e+3 β 2.27e+3 2.27e+3 2.27e+3 2.27e+3 2.27e+3 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 2.34e+3 2.34e+3 2.34e+3 2.34e+3 2.34e+3 β 2.34e+3 2.34e+3 2.34e+3 2.34e+3 2.34e+3 β 2.35e+3 2.35e+3 2.35e+3 2.35e+3 2.35e+3 β 2.35e+3 2.35e+3 2.35e+3 2.35e+3 2.35e+3 ββ - ββ β 2.36e+3 2.36e+3 2.36e+3 2.36e+3 2.36e+3 β 2.36e+3 2.36e+3 2.36e+3 2.36e+3 2.36e+3 β 2.37e+3 2.37e+3 2.37e+3 2.37e+3 2.37e+3 β 2.37e+3 2.37e+3 2.37e+3 2.37e+3 2.37e+3 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β - ββ5 @ 2 β 2.38e+3 2.38e+3 2.38e+3 2.38e+3 2.38e+3 β 2.38e+3 2.38e+3 2.38e+3 2.38e+3 2.38e+3 β 2.39e+3 2.39e+3 2.39e+3 2.39e+3 2.39e+3 β 2.39e+3 2.39e+3 2.39e+3 2.39e+3 2.39e+3 ββ - ββaxis 3β 2.40e+3 2.40e+3 2.40e+3 2.40e+3 2.40e+3 β 2.40e+3 2.40e+3 2.40e+3 2.40e+3 2.40e+3 β 2.41e+3 2.41e+3 2.41e+3 2.41e+3 2.41e+3 β 2.41e+3 2.41e+3 2.41e+3 2.41e+3 2.41e+3 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 2.48e+3 2.48e+3 2.48e+3 2.48e+3 2.48e+3 β 2.48e+3 2.48e+3 2.48e+3 2.48e+3 2.48e+3 β 2.49e+3 2.49e+3 2.49e+3 2.49e+3 2.49e+3 β 2.49e+3 2.49e+3 2.49e+3 2.49e+3 2.49e+3 ββ - ββ β 2.50e+3 2.50e+3 2.50e+3 2.50e+3 2.50e+3 β 2.50e+3 2.50e+3 2.50e+3 2.50e+3 2.50e+3 β 2.51e+3 2.51e+3 2.51e+3 2.51e+3 2.51e+3 β 2.51e+3 2.51e+3 2.51e+3 2.51e+3 2.51e+3 ββ - βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββ - ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - |}]; + {| [2]: r2x3x6x7x4x5 shape 0:2,1:3|4:4,5:5->2:6,3:7 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ ho2; [%expect {| @@ -292,20 +180,7 @@ let%expect_test "einsum1 sum out axes" = Train.forward_and_forget backend ctx ho; Tensor.print ~with_code:false ~with_grad:false `Default @@ hey; [%expect - {| - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β[0]: r2x4x3 shape 0:2|2:3->1:4 β - βββββββββ¬βββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ - ββ β0 @ 0 β1 @ 0 ββ - ββ βaxis 2 βaxis 2 ββ - βββββββββΌβββββββββββββββββββββββββΌββββββββββββββββββββββββββββ€β - ββaxis 1β 0.00 1.00 2.00 β 1.20e+1 1.30e+1 1.40e+1 ββ - ββ β 3.00 4.00 5.00 β 1.50e+1 1.60e+1 1.70e+1 ββ - ββ β 6.00 7.00 8.00 β 1.80e+1 1.90e+1 2.00e+1 ββ - ββ β 9.00 1.00e+1 1.10e+1 β 2.10e+1 2.20e+1 2.30e+1 ββ - βββββββββ΄βββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - |}]; + {| [0]: r2x4x3 shape 0:2|2:3->1:4 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ ho; [%expect {| @@ -364,28 +239,10 @@ let%expect_test "einsum outer product" = Train.forward_and_forget backend ctx c; Tensor.print ~with_code:false ~with_grad:false `Default @@ a; [%expect - {| - ββββββββββββββββββββ - β[0]: r2 shape 0:2 β - βββ¬βββββββββββββ β - βββaxis 0 β β - βββΌβββββββββββββ€ β - βββ 0.00 1.00 β β - βββ΄βββββββββββββ β - ββββββββββββββββββββ - |}]; + {| [0]: r2 shape 0:2 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ b; [%expect - {| - βββββββββββββββββββββββ - β[1]: r3 shape 0:3 β - βββ¬ββββββββββββββββββββ - βββaxis 0 ββ - βββΌβββββββββββββββββββ€β - βββ 0.00 1.00 2.00 ββ - βββ΄ββββββββββββββββββββ - βββββββββββββββββββββββ - |}]; + {| [1]: r3 shape 0:3 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ c; [%expect {| @@ -406,37 +263,10 @@ let%expect_test "einsum outer product" = Train.forward_and_forget backend ctx c; Tensor.print ~with_code:false ~with_grad:false `Default @@ a; [%expect - {| - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β[5]: r2x4x3 shape 0:2|2:3->1:4 β - βββββββββ¬βββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ - ββ β0 @ 0 β1 @ 0 ββ - ββ βaxis 2 βaxis 2 ββ - βββββββββΌβββββββββββββββββββββββββΌββββββββββββββββββββββββββββ€β - ββaxis 1β 0.00 1.00 2.00 β 1.20e+1 1.30e+1 1.40e+1 ββ - ββ β 3.00 4.00 5.00 β 1.50e+1 1.60e+1 1.70e+1 ββ - ββ β 6.00 7.00 8.00 β 1.80e+1 1.90e+1 2.00e+1 ββ - ββ β 9.00 1.00e+1 1.10e+1 β 2.10e+1 2.20e+1 2.30e+1 ββ - βββββββββ΄βββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - |}]; + {| [5]: r2x4x3 shape 0:2|2:3->1:4 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ b; [%expect - {| - ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β[6]: r5x7x6 shape 0:5|2:6->1:7 β - βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββ - ββ β0 @ 0 β1 @ 0 β2 @ 0 β3 @ 0 β4 @ 0 ββ - ββ βaxis 2 βaxis 2 βaxis 2 βaxis 2 βaxis 2 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββ€β - ββaxis 1β 0.00 1.00 ... 4.00 5.00 β 4.20e+1 4.30e+1 ... 4.60e+1 4.70e+1 β 8.40e+1 8.50e+1 ... 8.80e+1 8.90e+1 β 1.26e+2 1.27e+2 ... 1.30e+2 1.31e+2 β 1.68e+2 1.69e+2 ... 1.72e+2 1.73e+2 ββ - ββ β 6.00 7.00 ... 1.00e+1 1.10e+1 β 4.80e+1 4.90e+1 ... 5.20e+1 5.30e+1 β 9.00e+1 9.10e+1 ... 9.40e+1 9.50e+1 β 1.32e+2 1.33e+2 ... 1.36e+2 1.37e+2 β 1.74e+2 1.75e+2 ... 1.78e+2 1.79e+2 ββ - ββ β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... β ... ... ... ... ... ββ - ββ β 3.00e+1 3.10e+1 ... 3.40e+1 3.50e+1 β 7.20e+1 7.30e+1 ... 7.60e+1 7.70e+1 β 1.14e+2 1.15e+2 ... 1.18e+2 1.19e+2 β 1.56e+2 1.57e+2 ... 1.60e+2 1.61e+2 β 1.98e+2 1.99e+2 ... 2.02e+2 2.03e+2 ββ - ββ β 3.60e+1 3.70e+1 ... 4.00e+1 4.10e+1 β 7.80e+1 7.90e+1 ... 8.20e+1 8.30e+1 β 1.20e+2 1.21e+2 ... 1.24e+2 1.25e+2 β 1.62e+2 1.63e+2 ... 1.66e+2 1.67e+2 β 2.04e+2 2.05e+2 ... 2.08e+2 2.09e+2 ββ - βββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββ - ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - |}]; + {| [6]: r5x7x6 shape 0:5|2:6->1:7 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ c; [%expect {| @@ -723,20 +553,7 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" = let ctx = Train.forward_and_ctx backend ctx ho in Tensor.print ~with_code:false ~with_grad:false `Default @@ hey; [%expect - {| - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β[0]: r2x4x3 shape 0:2|2:3->1:4 β - βββββββββ¬βββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ - ββ β0 @ 0 β1 @ 0 ββ - ββ βaxis 2 βaxis 2 ββ - βββββββββΌβββββββββββββββββββββββββΌββββββββββββββββββββββββββββ€β - ββaxis 1β 0.00 1.00 2.00 β 1.20e+1 1.30e+1 1.40e+1 ββ - ββ β 3.00 4.00 5.00 β 1.50e+1 1.60e+1 1.70e+1 ββ - ββ β 6.00 7.00 8.00 β 1.80e+1 1.90e+1 2.00e+1 ββ - ββ β 9.00 1.00e+1 1.10e+1 β 2.10e+1 2.20e+1 2.30e+1 ββ - βββββββββ΄βββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - |}]; + {| [0]: r2x4x3 shape 0:2|2:3->1:4 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ ho; [%expect {| @@ -776,106 +593,7 @@ let%expect_test "einsum1 broadcast or sum out prefix axes" = let ctx = Train.forward_and_ctx backend ctx ho3 in Tensor.print ~with_code:false ~with_grad:false `Default @@ hey2; [%expect - {| - ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β[3]: r2x3x6x7x4x5 shape 0:2,1:3|4:4,5:5->2:6,3:7 β - βββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββ - ββ0 @ 1 β0 @ 4 β1 @ 4 β2 @ 4 β3 @ 4 ββ - ββ βaxis 5 βaxis 5 βaxis 5 βaxis 5 ββ - βββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββ€β ...TRUNCATED BY DUNE... @@ -1188,32 +845,10 @@ let%expect_test "einsum broadcast or sum out prefix axes" = Train.forward_and_forget backend ctx f; Tensor.print ~with_code:false ~with_grad:false `Default @@ d; [%expect - {| - βββββββββββββββββββββββββββ - β[3]: r3x2 shape 1:2->0:3 β - βββββββββ¬βββββββββββββ β - ββ βaxis 1 β β - βββββββββΌβββββββββββββ€ β - ββaxis 0β 0.00 1.00 β β - ββ β 2.00 3.00 β β - ββ β 4.00 5.00 β β - βββββββββ΄βββββββββββββ β - βββββββββββββββββββββββββββ - |}]; + {| [3]: r3x2 shape 1:2->0:3 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ e; [%expect - {| - βββββββββββββββββββββββββββββββββββββββββ - β[4]: r3x4 shape 1:4->0:3 β - βββββββββ¬ββββββββββββββββββββββββββββββββ - ββ βaxis 1 ββ - βββββββββΌβββββββββββββββββββββββββββββββ€β - ββaxis 0β 0.00 1.00 2.00 3.00 ββ - ββ β 4.00 5.00 6.00 7.00 ββ - ββ β 8.00 9.00 1.00e+1 1.10e+1 ββ - βββββββββ΄ββββββββββββββββββββββββββββββββ - βββββββββββββββββββββββββββββββββββββββββ - |}]; + {| [4]: r3x4 shape 1:4->0:3 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ f; [%expect {| @@ -1253,20 +888,7 @@ let%expect_test "einsum1 fixed dim axis" = let ctx = Train.forward_and_ctx backend ctx ho in Tensor.print ~with_code:false ~with_grad:false `Default @@ hey; [%expect - {| - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β[0]: r2x4x3 shape 0:2|2:3->1:4 β - βββββββββ¬βββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ - ββ β0 @ 0 β1 @ 0 ββ - ββ βaxis 2 βaxis 2 ββ - βββββββββΌβββββββββββββββββββββββββΌββββββββββββββββββββββββββββ€β - ββaxis 1β 0.00 1.00 2.00 β 1.20e+1 1.30e+1 1.40e+1 ββ - ββ β 3.00 4.00 5.00 β 1.50e+1 1.60e+1 1.70e+1 ββ - ββ β 6.00 7.00 8.00 β 1.80e+1 1.90e+1 2.00e+1 ββ - ββ β 9.00 1.00e+1 1.10e+1 β 2.10e+1 2.20e+1 2.30e+1 ββ - βββββββββ΄βββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - |}]; + {| [0]: r2x4x3 shape 0:2|2:3->1:4 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ ho; [%expect {| @@ -1284,20 +906,7 @@ let%expect_test "einsum1 fixed dim axis" = let ctx = Train.forward_and_ctx backend ctx ho2 in Tensor.print ~with_code:false ~with_grad:false `Default @@ hey; [%expect - {| - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β[0]: r2x4x3 shape 0:2|2:3->1:4 β - βββββββββ¬βββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ - ββ β0 @ 0 β1 @ 0 ββ - ββ βaxis 2 βaxis 2 ββ - βββββββββΌβββββββββββββββββββββββββΌββββββββββββββββββββββββββββ€β - ββaxis 1β 0.00 1.00 2.00 β 1.20e+1 1.30e+1 1.40e+1 ββ - ββ β 3.00 4.00 5.00 β 1.50e+1 1.60e+1 1.70e+1 ββ - ββ β 6.00 7.00 8.00 β 1.80e+1 1.90e+1 2.00e+1 ββ - ββ β 9.00 1.00e+1 1.10e+1 β 2.10e+1 2.20e+1 2.30e+1 ββ - βββββββββ΄βββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - |}]; + {| [0]: r2x4x3 shape 0:2|2:3->1:4 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ ho2; [%expect {| @@ -1316,18 +925,7 @@ let%expect_test "einsum1 fixed dim axis" = let ctx = Train.forward_and_ctx backend ctx ho3 in Tensor.print ~with_code:false ~with_grad:false `Default @@ hey2; [%expect - {| - βββββββββββββββββββββββββββ - β[3]: r3x2 shape 1:2->0:3 β - βββββββββ¬βββββββββββββ β - ββ βaxis 1 β β - βββββββββΌβββββββββββββ€ β - ββaxis 0β 0.00 1.00 β β - ββ β 2.00 3.00 β β - ββ β 4.00 5.00 β β - βββββββββ΄βββββββββββββ β - βββββββββββββββββββββββββββ - |}]; + {| [3]: r3x2 shape 1:2->0:3 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ ho3; [%expect {| @@ -1379,34 +977,10 @@ let%expect_test "einsum with fixed dim axes" = Train.forward_and_forget backend ctx c; Tensor.print ~with_code:false ~with_grad:false `Default @@ a; [%expect - {| - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β[0]: r3x2x4 shape 0:3|2:4->1:2 β - βββββββββ¬βββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββ - ββ β0 @ 0 β1 @ 0 β2 @ 0 ββ - ββ βaxis 2 βaxis 2 βaxis 2 ββ - βββββββββΌβββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ€β - ββaxis 1β 0.00 1.00 2.00 3.00 β 8.00 9.00 1.00e+1 1.10e+1 β 1.60e+1 1.70e+1 1.80e+1 1.90e+1 ββ - ββ β 4.00 5.00 6.00 7.00 β 1.20e+1 1.30e+1 1.40e+1 1.50e+1 β 2.00e+1 2.10e+1 2.20e+1 2.30e+1 ββ - βββββββββ΄βββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββ - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - |}]; + {| [0]: r3x2x4 shape 0:3|2:4->1:2 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ b; [%expect - {| - ββββββββββββββββββββββββββββββββββ - β[1]: r3x4x1 shape 0:3|2:1->1:4 β - βββββββββ¬βββββββ¬βββββββ¬βββββββββββ - ββ β0 @ 0 β1 @ 0 β2 @ 0 ββ - ββ βaxis 2βaxis 2βaxis 2 ββ - βββββββββΌβββββββΌβββββββΌββββββββββ€β - ββaxis 1β 0.00 β 4.00 β 8.00 ββ - ββ β 1.00 β 5.00 β 9.00 ββ - ββ β 2.00 β 6.00 β 1.00e+1 ββ - ββ β 3.00 β 7.00 β 1.10e+1 ββ - βββββββββ΄βββββββ΄βββββββ΄βββββββββββ - ββββββββββββββββββββββββββββββββββ - |}]; + {| [1]: r3x4x1 shape 0:3|2:1->1:4 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ c; [%expect {| @@ -1450,175 +1024,175 @@ let%expect_test "outer_sum simulating axis concatenation" = Tensor.print ~with_code:false ~with_grad:false `Default @@ positions; [%expect {| - ββββββββββββββββββββββββββββββββββ - β[9]: ;=>+ shape 0:4,1:5,2:6,3:3 β - βββββββββ¬βββββββββββββββββββ β - ββ0 @ 0 βaxis 3 β β - βββββββββΌβββββββββββββββββββ€ β - ββ0 @ 1 β 0.00 0.00 0.00 β β - ββaxis 2β 0.00 0.00 1.00 β β - ββ β ... ... ... β β - ββ β 0.00 0.00 4.00 β β - ββ β 0.00 0.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ1 @ 1 β 0.00 1.00 0.00 β β - ββaxis 2β 0.00 1.00 1.00 β β - ββ β ... ... ... β β - ββ β 0.00 1.00 4.00 β β - ββ β 0.00 1.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ2 @ 1 β 0.00 2.00 0.00 β β - ββaxis 2β 0.00 2.00 1.00 β β - ββ β ... ... ... β β - ββ β 0.00 2.00 4.00 β β - ββ β 0.00 2.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ3 @ 1 β 0.00 3.00 0.00 β β - ββaxis 2β 0.00 3.00 1.00 β β - ββ β ... ... ... β β - ββ β 0.00 3.00 4.00 β β - ββ β 0.00 3.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ4 @ 1 β 0.00 4.00 0.00 β β - ββaxis 2β 0.00 4.00 1.00 β β - ββ β ... ... ... β β - ββ β 0.00 4.00 4.00 β β - ββ β 0.00 4.00 5.00 β β - βββββββββ΄βββββββββββββββββββ β - ββββββββββββββββββββββββββββββββββ€ - βββββββββ¬βββββββββββββββββββ β - ββ1 @ 0 βaxis 3 β β - βββββββββΌβββββββββββββββββββ€ β - ββ0 @ 1 β 1.00 0.00 0.00 β β - ββaxis 2β 1.00 0.00 1.00 β β - ββ β ... ... ... β β - ββ β 1.00 0.00 4.00 β β - ββ β 1.00 0.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ1 @ 1 β 1.00 1.00 0.00 β β - ββaxis 2β 1.00 1.00 1.00 β β - ββ β ... ... ... β β - ββ β 1.00 1.00 4.00 β β - ββ β 1.00 1.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ2 @ 1 β 1.00 2.00 0.00 β β - ββaxis 2β 1.00 2.00 1.00 β β - ββ β ... ... ... β β - ββ β 1.00 2.00 4.00 β β - ββ β 1.00 2.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ3 @ 1 β 1.00 3.00 0.00 β β - ββaxis 2β 1.00 3.00 1.00 β β - ββ β ... ... ... β β - ββ β 1.00 3.00 4.00 β β - ββ β 1.00 3.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ4 @ 1 β 1.00 4.00 0.00 β β - ββaxis 2β 1.00 4.00 1.00 β β - ββ β ... ... ... β β - ββ β 1.00 4.00 4.00 β β - ββ β 1.00 4.00 5.00 β β - βββββββββ΄βββββββββββββββββββ β - ββββββββββββββββββββββββββββββββββ€ - βββββββββ¬βββββββββββββββββββ β - ββ2 @ 0 βaxis 3 β β - βββββββββΌβββββββββββββββββββ€ β - ββ0 @ 1 β 2.00 0.00 0.00 β β - ββaxis 2β 2.00 0.00 1.00 β β - ββ β ... ... ... β β - ββ β 2.00 0.00 4.00 β β - ββ β 2.00 0.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ1 @ 1 β 2.00 1.00 0.00 β β - ββaxis 2β 2.00 1.00 1.00 β β - ββ β ... ... ... β β - ββ β 2.00 1.00 4.00 β β - ββ β 2.00 1.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ2 @ 1 β 2.00 2.00 0.00 β β - ββaxis 2β 2.00 2.00 1.00 β β - ββ β ... ... ... β β - ββ β 2.00 2.00 4.00 β β - ββ β 2.00 2.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ3 @ 1 β 2.00 3.00 0.00 β β - ββaxis 2β 2.00 3.00 1.00 β β - ββ β ... ... ... β β - ββ β 2.00 3.00 4.00 β β - ββ β 2.00 3.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ4 @ 1 β 2.00 4.00 0.00 β β - ββaxis 2β 2.00 4.00 1.00 β β - ββ β ... ... ... β β - ββ β 2.00 4.00 4.00 β β - ββ β 2.00 4.00 5.00 β β - βββββββββ΄βββββββββββββββββββ β - ββββββββββββββββββββββββββββββββββ€ - βββββββββ¬βββββββββββββββββββ β - ββ3 @ 0 βaxis 3 β β - βββββββββΌβββββββββββββββββββ€ β - ββ0 @ 1 β 3.00 0.00 0.00 β β - ββaxis 2β 3.00 0.00 1.00 β β - ββ β ... ... ... β β - ββ β 3.00 0.00 4.00 β β - ββ β 3.00 0.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ1 @ 1 β 3.00 1.00 0.00 β β - ββaxis 2β 3.00 1.00 1.00 β β - ββ β ... ... ... β β - ββ β 3.00 1.00 4.00 β β - ββ β 3.00 1.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ2 @ 1 β 3.00 2.00 0.00 β β - ββaxis 2β 3.00 2.00 1.00 β β - ββ β ... ... ... β β - ββ β 3.00 2.00 4.00 β β - ββ β 3.00 2.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ3 @ 1 β 3.00 3.00 0.00 β β - ββaxis 2β 3.00 3.00 1.00 β β - ββ β ... ... ... β β - ββ β 3.00 3.00 4.00 β β - ββ β 3.00 3.00 5.00 β β - βββββββββΌβββββββββββββββββββ€ β - ββ4 @ 1 β 3.00 4.00 0.00 β β - ββaxis 2β 3.00 4.00 1.00 β β - ββ β ... ... ... β β - ββ β 3.00 4.00 4.00 β β - ββ β 3.00 4.00 5.00 β β - βββββββββ΄βββββββββββββββββββ β - ββββββββββββββββββββββββββββββββββ + βββββββββββββββββββββββββββββββββββββββββ + β[9]: ;=>+ shape 0:4,1:5,2:6,3:3 β + βββββββββ¬ββββββββββββββββββββββββββββββββ + ββ0 @ 0 βaxis 3 ββ + βββββββββΌβββββββββββββββββββββββββββββββ€β + ββ0 @ 1 β -1.04e-35 6.15e-41 0.00 ββ + ββaxis 2β -4.71e-36 1.93e+3 1.00 ββ + ββ β ... ... ... ββ + ββ β 2.82e+3 3.04e+3 4.00 ββ + ββ β -4.71e-36 6.06e-22 5.00 ββ + βββββββββΌβββββββββββββββββββββββββββββββ€β + ββ1 @ 1 β -5.69e-36 1.00 3.07e-41 ββ + ββaxis 2β 0.00 1.93e+3 1.00 ββ + ββ β ... ... ... ββ + ββ β 2.82e+3 3.04e+3 4.00 ββ + ββ β 4.57e-41 1.00 5.00 ββ + βββββββββΌβββββββββββββββββββββββββββββββ€β + ββ2 @ 1 β 1.59e-23 2.00 0.00 ββ + ββaxis 2β 1.59e-23 1.93e+3 1.00 ββ + ββ β ... ... ... ββ + ββ β 2.82e+3 3.04e+3 4.00 ββ + ββ β 1.59e-23 2.00 5.00 ββ + βββββββββΌβββββββββββββββββββββββββββββββ€β + ββ3 @ 1 β -5.70e-36 3.00 4.76e+3 ββ + ββaxis 2β -1.36e-38 1.93e+3 4.76e+3 ββ + ββ β ... ... ... ββ + ββ β 2.82e+3 3.04e+3 4.76e+3 ββ + ββ β -1.36e-38 3.00 4.76e+3 ββ + βββββββββΌβββββββββββββββββββββββββββββββ€β + ββ4 @ 1 β 4.68e+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 β 1.00 2.89e+32 3.23e+21 β β + ββaxis 2β 1.00 2.89e+32 3.23e+21 β β + ββ β ... ... ... β β + ββ β 2.82e+3 2.89e+32 3.23e+21 β β + ββ β 1.00 2.89e+32 3.23e+21 β β + βββββββββΌββββββββββββββββββββββββββββββ€ β + ββ1 @ 1 β 1.00 2.89e+32 3.23e+21 β β + ββaxis 2β 1.00 2.89e+32 3.23e+21 β β + ββ β ... ... ... β β + ββ β 2.82e+3 2.89e+32 3.23e+21 β β + ββ β 1.00 2.89e+32 3.23e+21 β β + βββββββββΌββββββββββββββββββββββββββββββ€ β + ββ2 @ 1 β 1.00 2.89e+32 3.23e+21 β β + ββaxis 2β 1.00 2.89e+32 3.23e+21 β β + ββ β ... ... ... β β + ββ β 2.82e+3 2.89e+32 3.23e+21 β β + ββ β 1.00 2.89e+32 3.23e+21 β β + βββββββββΌββββββββββββββββββββββββββββββ€ β + ββ3 @ 1 β 1.00 2.89e+32 3.23e+21 β β + ββaxis 2β 1.00 2.89e+32 3.23e+21 β β + ββ β ... ... ... β β + ββ β 2.82e+3 2.89e+32 3.23e+21 β β + ββ β 1.00 2.89e+32 3.23e+21 β β + βββββββββΌββββββββββββββββββββββββββββββ€ β + ββ4 @ 1 β 4.68e+3 2.89e+32 3.23e+21 β β + ββaxis 2β 4.68e+3 2.89e+32 3.23e+21 β β + ββ β ... ... ... β β + ββ β 7.50e+3 2.89e+32 3.23e+21 β β + ββ β 4.68e+3 2.89e+32 3.23e+21 β β + βββββββββ΄ββββββββββββββββββββββββββββββ β + βββββββββββββββββββββββββββββββββββββββββ€ + βββββββββ¬ββββββββββββββββββββββββββββββ β + ββ2 @ 0 βaxis 3 β β + βββββββββΌββββββββββββββββββββββββββββββ€ β + ββ0 @ 1 β 2.00 1.33e+22 1.27e+19 β β + ββaxis 2β 2.00 1.33e+22 1.27e+19 β β + ββ β ... ... ... β β + ββ β 2.82e+3 1.33e+22 1.27e+19 β β + ββ β 2.00 1.33e+22 1.27e+19 β β + βββββββββΌββββββββββββββββββββββββββββββ€ β + ββ1 @ 1 β 2.00 1.33e+22 1.27e+19 β β + ββaxis 2β 2.00 1.33e+22 1.27e+19 β β + ββ β ... ... ... β β + ββ β 2.82e+3 1.33e+22 1.27e+19 β β + ββ β 2.00 1.33e+22 1.27e+19 β β + βββββββββΌββββββββββββββββββββββββββββββ€ β + ββ2 @ 1 β 2.00 1.33e+22 1.27e+19 β β + ββaxis 2β 2.00 1.33e+22 1.27e+19 β β + ββ β ... ... ... β β + ββ β 2.82e+3 1.33e+22 1.27e+19 β β + ββ β 2.00 1.33e+22 1.27e+19 β β + βββββββββΌββββββββββββββββββββββββββββββ€ β + ββ3 @ 1 β 2.00 1.33e+22 1.27e+19 β β + ββaxis 2β 2.00 1.33e+22 1.27e+19 β β + ββ β ... ... ... β β + ββ β 2.82e+3 1.33e+22 1.27e+19 β β + ββ β 2.00 1.33e+22 1.27e+19 β β + βββββββββΌββββββββββββββββββββββββββββββ€ β + ββ4 @ 1 β 4.68e+3 1.33e+22 1.27e+19 β β + ββaxis 2β 4.68e+3 1.33e+22 1.27e+19 β β + ββ β ... ... ... β β + ββ β 7.50e+3 1.33e+22 1.27e+19 β β + ββ β 4.68e+3 1.33e+22 1.27e+19 β β + βββββββββ΄ββββββββββββββββββββββββββββββ β + βββββββββββββββββββββββββββββββββββββββββ€ + βββββββββ¬βββββββββββββββββββββββββββββ β + ββ3 @ 0 βaxis 3 β β + βββββββββΌβββββββββββββββββββββββββββββ€ β + ββ0 @ 1 β 3.00 1.30e-8 7.52e+28 β β + ββaxis 2β 3.00 1.93e+3 7.52e+28 β β + ββ β ... ... ... β β + ββ β 2.82e+3 3.04e+3 7.52e+28 β β + ββ β 3.00 1.30e-8 7.52e+28 β β + βββββββββΌβββββββββββββββββββββββββββββ€ β + ββ1 @ 1 β 3.00 1.00 7.52e+28 β β + ββaxis 2β 3.00 1.93e+3 7.52e+28 β β + ββ β ... ... ... β β + ββ β 2.82e+3 3.04e+3 7.52e+28 β β + ββ β 3.00 1.00 7.52e+28 β β + βββββββββΌβββββββββββββββββββββββββββββ€ β + ββ2 @ 1 β 3.00 2.00 7.52e+28 β β + ββaxis 2β 3.00 1.93e+3 7.52e+28 β β + ββ β ... ... ... β β + ββ β 2.82e+3 3.04e+3 7.52e+28 β β + ββ β 3.00 2.00 7.52e+28 β β + βββββββββΌβββββββββββββββββββββββββββββ€ β + ββ3 @ 1 β 3.00 3.00 7.52e+28 β β + ββaxis 2β 3.00 1.93e+3 7.52e+28 β β + ββ β ... ... ... β β + ββ β 2.82e+3 3.04e+3 7.52e+28 β β + ββ β 3.00 3.00 7.52e+28 β β + βββββββββΌβββββββββββββββββββββββββββββ€ β + ββ4 @ 1 β 4.68e+3 4.00 7.52e+28 β β + ββaxis 2β 4.68e+3 1.94e+3 7.52e+28 β β + ββ β ... ... ... β β + ββ β 7.50e+3 3.04e+3 7.52e+28 β β + ββ β 4.68e+3 4.00 7.52e+28 β β + βββββββββ΄βββββββββββββββββββββββββββββ β + βββββββββββββββββββββββββββββββββββββββββ |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ ti; [%expect {| - βββββββββββββββββββββββββββββ - β[1]: =>_ti shape 0:4,1:3 β - βββββββββ¬ββββββββββββββββββββ - ββ βaxis 1 ββ - βββββββββΌβββββββββββββββββββ€β - ββaxis 0β 0.00 0.00 0.00 ββ - ββ β 1.00 0.00 0.00 ββ - ββ β 2.00 0.00 0.00 ββ - ββ β 3.00 0.00 0.00 ββ - βββββββββ΄ββββββββββββββββββββ - βββββββββββββββββββββββββββββ + βββββββββββββββββββββββββββββββββββββ + β[1]: =>_ti shape 0:4,1:3 β + βββββββββ¬ββββββββββββββββββββββββββββ + ββ βaxis 1 ββ + βββββββββΌβββββββββββββββββββββββββββ€β + ββaxis 0β 0.00 3.07e-41 0.00 ββ + ββ β 1.00 2.89e+32 3.23e+21 ββ + ββ β 2.00 1.33e+22 1.27e+19 ββ + ββ β 3.00 1.30e-8 7.52e+28 ββ + βββββββββ΄ββββββββββββββββββββββββββββ + βββββββββββββββββββββββββββββββββββββ |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ tk; [%expect {| - βββββββββββββββββββββββββββββ - β[7]: =>_tk shape 0:6,1:3 β - βββββββββ¬ββββββββββββββββββββ - ββ βaxis 1 ββ - βββββββββΌβββββββββββββββββββ€β - ββaxis 0β 0.00 0.00 0.00 ββ - ββ β 0.00 0.00 1.00 ββ - ββ β ... ... ... ββ - ββ β 0.00 0.00 4.00 ββ - ββ β 0.00 0.00 5.00 ββ - βββββββββ΄ββββββββββββββββββββ - βββββββββββββββββββββββββββββ + ββββββββββββββββββββββββββββββββββββββ + β[7]: =>_tk shape 0:6,1:3 β + βββββββββ¬βββββββββββββββββββββββββββββ + ββ βaxis 1 ββ + βββββββββΌββββββββββββββββββββββββββββ€β + ββaxis 0β -5.69e-36 3.07e-41 0.00 ββ + ββ β 0.00 1.93e+3 1.00 ββ + ββ β ... ... ... ββ + ββ β 2.82e+3 3.04e+3 4.00 ββ + ββ β 4.57e-41 6.06e-22 5.00 ββ + βββββββββ΄βββββββββββββββββββββββββββββ + ββββββββββββββββββββββββββββββββββββββ |}] let%expect_test "einsum with a leftmost input axis preserved as output axis" = @@ -1644,54 +1218,10 @@ let%expect_test "einsum with a leftmost input axis preserved as output axis" = Train.forward_and_forget backend ctx c; Tensor.print ~with_code:false ~with_grad:false `Default @@ a; [%expect - {| - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β[0]: r3x2x4_a shape 0:3|2:4->1:2 β - βββββββββ¬βββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββ - ββ β0 @ 0 β1 @ 0 β2 @ 0 ββ - ββ βaxis 2 βaxis 2 βaxis 2 ββ - βββββββββΌβββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ€β - ββaxis 1β 0.00 1.00 2.00 3.00 β 8.00 9.00 1.00e+1 1.10e+1 β 1.60e+1 1.70e+1 1.80e+1 1.90e+1 ββ - ββ β 4.00 5.00 6.00 7.00 β 1.20e+1 1.30e+1 1.40e+1 1.50e+1 β 2.00e+1 2.10e+1 2.20e+1 2.30e+1 ββ - βββββββββ΄βββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββ - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - |}]; + {| [0]: r3x2x4_a shape 0:3|2:4->1:2 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ b; [%expect - {| - ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β[1]: r3x4x2x3_b shape 0:3|2:2,3:3->1:4 β - βββββββββ¬ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ - ββ0 @ 0 β0 @ 2 β1 @ 2 ββ - ββ βaxis 3 βaxis 3 ββ - βββββββββΌββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββ€β - ββaxis 1β 0.00 1.00 2.00 β 3.00 4.00 5.00 ββ - ββ β 6.00 7.00 8.00 β 9.00 1.00e+1 1.10e+1 ββ - ββ β 1.20e+1 1.30e+1 1.40e+1 β 1.50e+1 1.60e+1 1.70e+1 ββ - ββ β 1.80e+1 1.90e+1 2.00e+1 β 2.10e+1 2.20e+1 2.30e+1 ββ - βββββββββ΄ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ - ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ - βββββββββ¬ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ - ββ1 @ 0 β0 @ 2 β1 @ 2 ββ - ββ βaxis 3 βaxis 3 ββ - βββββββββΌββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββ€β - ββaxis 1β 2.40e+1 2.50e+1 2.60e+1 β 2.70e+1 2.80e+1 2.90e+1 ββ - ββ β 3.00e+1 3.10e+1 3.20e+1 β 3.30e+1 3.40e+1 3.50e+1 ββ - ββ β 3.60e+1 3.70e+1 3.80e+1 β 3.90e+1 4.00e+1 4.10e+1 ββ - ββ β 4.20e+1 4.30e+1 4.40e+1 β 4.50e+1 4.60e+1 4.70e+1 ββ - βββββββββ΄ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ - ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ - βββββββββ¬ββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββ - ββ2 @ 0 β0 @ 2 β1 @ 2 ββ - ββ βaxis 3 βaxis 3 ββ - βββββββββΌββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββ€β - ββaxis 1β 4.80e+1 4.90e+1 5.00e+1 β 5.10e+1 5.20e+1 5.30e+1 ββ - ββ β 5.40e+1 5.50e+1 5.60e+1 β 5.70e+1 5.80e+1 5.90e+1 ββ - ββ β 6.00e+1 6.10e+1 6.20e+1 β 6.30e+1 6.40e+1 6.50e+1 ββ - ββ β 6.60e+1 6.70e+1 6.80e+1 β 6.90e+1 7.00e+1 7.10e+1 ββ - βββββββββ΄ββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ - ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - |}]; + {| [1]: r3x4x2x3_b shape 0:3|2:2,3:3->1:4 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ c; [%expect {| @@ -1728,34 +1258,10 @@ let%expect_test "einsum permuting two leftmost input axes as output axes" = Train.forward_and_forget backend ctx c; Tensor.print ~with_code:false ~with_grad:false `Default @@ a; [%expect - {| - βββββββββββββββββββββββββββββ - β[0]: r2x2_a shape 1:2->0:2 β - βββββββββ¬βββββββββββββ β - ββ βaxis 1 β β - βββββββββΌβββββββββββββ€ β - ββaxis 0β 0.00 1.00 β β - ββ β 2.00 3.00 β β - βββββββββ΄βββββββββββββ β - βββββββββββββββββββββββββββββ - |}]; + {| [0]: r2x2_a shape 1:2->0:2 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ b; [%expect - {| - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - β[1]: r2x2x3x4_b shape 1:2,2:3,3:4->0:2 β - βββββββββ¬βββββββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββ - ββ β0 @ 2 β1 @ 2 β2 @ 2 ββ - ββ βaxis 3 βaxis 3 βaxis 3 ββ - βββββββββΌβββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ€β - ββ0 @ 1 β 0.00 1.00 2.00 3.00 β 4.00 5.00 6.00 7.00 β 8.00 9.00 1.00e+1 1.10e+1 ββ - ββaxis 0β 2.40e+1 2.50e+1 2.60e+1 2.70e+1 β 2.80e+1 2.90e+1 3.00e+1 3.10e+1 β 3.20e+1 3.30e+1 3.40e+1 3.50e+1 ββ - βββββββββΌβββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββ€β - ββ1 @ 1 β 1.20e+1 1.30e+1 1.40e+1 1.50e+1 β 1.60e+1 1.70e+1 1.80e+1 1.90e+1 β 2.00e+1 2.10e+1 2.20e+1 2.30e+1 ββ - ββaxis 0β 3.60e+1 3.70e+1 3.80e+1 3.90e+1 β 4.00e+1 4.10e+1 4.20e+1 4.30e+1 β 4.40e+1 4.50e+1 4.60e+1 4.70e+1 ββ - βββββββββ΄βββββββββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββββ - βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ - |}]; + {| [1]: r2x2x3x4_b shape 1:2,2:3,3:4->0:2 <virtual> |}]; Tensor.print ~with_code:false ~with_grad:false `Default @@ c; [%expect {| File "test/dune", line 4, characters 7-30: 4 | (name moons_demo_parallel_run) ^^^^^^^^^^^^^^^^^^^^^^^ (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 #24} 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 Fatal error: exception (Option.value_exn arrayjit/lib/backends.ml:294:28) Raised at Base__Error.raise in file "src/error.ml" (inlined), line 9, characters 21-37 Called from Base__Option.value_exn in file "src/option.ml", line 119, characters 4-21 Called from Backends.Add_device.link_batch in file "arrayjit/lib/backends.ml", line 294, characters 5-44 Called from Backends.Raise_backend.link_batch in file "arrayjit/lib/backends.ml", line 487, characters 30-81 Called from Ocannl__Train.parallel_update.(fun) in file "lib/train.ml", line 273, characters 15-96 Re-raised at Ocannl__Train.parallel_update.(fun) in file "lib/train.ml", lines 271-273, characters 10-97 Re-raised at Ocannl__Train.parallel_update.(fun) in file "lib/train.ml", lines 269-274, characters 23-18 Called from Base__Array0.mapi in file "src/array0.ml", line 142, characters 24-46 Called from Ocannl__Train.parallel_update in file "lib/train.ml", lines 269-274, characters 4-18 Re-raised at Ocannl__Train.parallel_update in file "lib/train.ml", lines 266-274, characters 2-18 Re-raised at Ocannl__Train.parallel_update in file "lib/train.ml", lines 233-320, characters 32-69 Called from Ocannl__Train.example_train_loop in file "lib/train.ml", lines 419-429, characters 4-39 Called from Dune__exe__Moons_demo_parallel_run.main in file "test/moons_demo_parallel_run.ml", lines 65-69, characters 4-8 Called from Base__Exn.protectx in file "src/exn.ml", line 79, characters 8-11 Re-raised at Base__Exn.raise_with_original_backtrace in file "src/exn.ml" (inlined), line 59, characters 2-50 Called from Base__Exn.protectx in file "src/exn.ml", line 86, characters 13-49 Called from Base__Exn.protect in file "src/exn.ml" (inlined), line 92, characters 26-49 Called from Dune__exe__Moons_demo_parallel_run in file "test/moons_demo_parallel_run.ml", line 90, characters 2-53 "/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1 2025-06-30 08:26.08: Job failed: Failed: Build failed