iprog4u
Machine Learning in Elixir: Chapter 6 Axon.Display.as_table does not work (Page 133)
Please guide me in the right direction. I am able to get .as_graph() to display the model correctly
Axon.Display.as_graph(model, template)
however when I try to run .as_table() I get an error (CAUTION: wall of error text follows):
Axon.Display.as_table(model, template)
|> IO.puts
** (FunctionClauseError) no function clause matching in Axon.Display.do_axon_to_rows/6
The following arguments were given to Axon.Display.do_axon_to_rows/6:
# 1
%Axon.Node{
id: 5,
name: #Function<194.57606554/2 in Axon.name/2>,
mode: :both,
parent: [4],
parameters: [],
args: [:layer],
op: :softmax,
policy: #Axon.MixedPrecision.Policy<>,
hooks: [],
opts: [],
global_options: [],
op_name: :softmax,
meta: %{},
stacktrace: [
{Axon, :layer, 3, [file: ~c"lib/axon.ex", line: 346]},
{:elixir, :eval_external_handler, 3, [file: ~c"src/elixir.erl", line: 388]},
{:erl_eval, :do_apply, 7, [file: ~c"erl_eval.erl", line: 919]},
{:erl_eval, :expr, 6, [file: ~c"erl_eval.erl", line: 663]},
{:elixir, :eval_forms, 4, [file: ~c"src/elixir.erl", line: 366]},
{Module.ParallelChecker, :verify, 1, [file: ~c"lib/module/parallel_checker.ex", line: 120]}
]
}
# 2
%{
1 => %Axon.Node{
id: 1,
name: #Function<195.57606554/2 in Axon.name/2>,
mode: :both,
parent: [],
parameters: [],
args: [],
op: :input,
policy: #Axon.MixedPrecision.Policy<>,
hooks: [],
opts: [shape: {nil, 748}, optional: false],
global_options: [],
op_name: :input,
meta: nil,
stacktrace: [
{Axon, :layer, 3, [file: ~c"lib/axon.ex", line: 346]},
{:elixir, :eval_external_handler, 3, [file: ~c"src/elixir.erl", line: 388]},
{:erl_eval, :do_apply, 7, [file: ~c"erl_eval.erl", line: 919]},
{:erl_eval, :expr_list, 7, [file: ~c"erl_eval.erl", line: 1207]},
{:erl_eval, :expr, 6, [file: ~c"erl_eval.erl", line: 625]},
{:erl_eval, :expr_list, 7, [file: ~c"erl_eval.erl", line: 1207]}
]
},
2 => %Axon.Node{
id: 2,
name: #Function<194.57606554/2 in Axon.name/2>,
mode: :both,
parent: [1],
parameters: [
%Axon.Parameter{
name: "kernel",
template: #Function<485.57606554/1 in Axon.shape_fun/2>,
shape: nil,
initializer: #Function<3.47872556/3 in Axon.Initializers.glorot_uniform/1>,
children: nil,
type: {:f, 32},
frozen: false,
kind: :parameter
},
%Axon.Parameter{
name: "bias",
template: #Function<485.57606554/1 in Axon.shape_fun/2>,
shape: nil,
initializer: #Function<23.47872556/2 in Axon.Initializers.zeros/0>,
children: nil,
type: {:f, 32},
frozen: false,
kind: :parameter
}
],
args: [:layer, :parameter, :parameter],
op: :dense,
policy: #Axon.MixedPrecision.Policy<>,
hooks: [],
opts: [],
global_options: [],
op_name: :dense,
meta: %{use_bias: true, units: 128},
stacktrace: [
{Axon, :layer, 3, [file: ~c"lib/axon.ex", line: 346]},
{Axon, :dense, 3, [file: ~c"lib/axon.ex", line: 877]},
{:elixir, :eval_external_handler, 3, [file: ~c"src/elixir.erl", line: 388]},
{:erl_eval, :do_apply, 7, [file: ~c"erl_eval.erl", line: 919]},
{:erl_eval, :expr_list, 7, [file: ~c"erl_eval.erl", line: 1207]},
{:erl_eval, :expr, 6, [file: ~c"erl_eval.erl", line: 625]}
]
},
3 => %Axon.Node{
id: 3,
name: #Function<194.57606554/2 in Axon.name/2>,
mode: :both,
parent: [2],
parameters: [],
args: [:layer],
op: :relu,
policy: #Axon.MixedPrecision.Policy<>,
hooks: [],
opts: [],
global_options: [],
op_name: :relu,
meta: %{},
stacktrace: [
{Axon, :layer, 3, [file: ~c"lib/axon.ex", line: 346]},
{:elixir, :eval_external_handler, 3, [file: ~c"src/elixir.erl", line: 388]},
{:erl_eval, :do_apply, 7, [file: ~c"erl_eval.erl", line: 919]},
{:erl_eval, :expr_list, 7, [file: ~c"erl_eval.erl", line: 1207]},
{:erl_eval, :expr, 6, [file: ~c"erl_eval.erl", line: 625]},
{:erl_eval, :expr, 6, [file: ~c"erl_eval.erl", line: 663]}
]
},
4 => %Axon.Node{
id: 4,
name: #Function<194.57606554/2 in Axon.name/2>,
mode: :both,
parent: [3],
parameters: [
%Axon.Parameter{
name: "kernel",
template: #Function<485.57606554/1 in Axon.shape_fun/2>,
shape: nil,
initializer: #Function<3.47872556/3 in Axon.Initializers.glorot_uniform/1>,
children: nil,
type: {:f, 32},
frozen: false,
kind: :parameter
},
%Axon.Parameter{
name: "bias",
template: #Function<485.57606554/1 in Axon.shape_fun/2>,
shape: nil,
initializer: #Function<23.47872556/2 in Axon.Initializers.zeros/0>,
children: nil,
type: {:f, 32},
frozen: false,
kind: :parameter
}
],
args: [:layer, :parameter, :parameter],
op: :dense,
policy: #Axon.MixedPrecision.Policy<>,
hooks: [],
opts: [],
global_options: [],
op_name: :dense,
meta: %{use_bias: true, units: 10},
stacktrace: [
{Axon, :layer, 3, [file: ~c"lib/axon.ex", line: 346]},
{Axon, :dense, 3, [file: ~c"lib/axon.ex", line: 877]},
{:elixir, :eval_external_handler, 3, [file: ~c"src/elixir.erl", line: 388]},
{:erl_eval, :do_apply, 7, [file: ~c"erl_eval.erl", line: 919]},
{:erl_eval, :expr, 6, [file: ~c"erl_eval.erl", line: 663]},
{:elixir, :eval_forms, 4, [file: ~c"src/elixir.erl", line: 366]}
]
},
5 => %Axon.Node{
id: 5,
name: #Function<194.57606554/2 in Axon.name/2>,
mode: :both,
parent: [4],
parameters: [],
args: [:layer],
op: :softmax,
policy: #Axon.MixedPrecision.Policy<>,
hooks: [],
opts: [],
global_options: [],
op_name: :softmax,
meta: %{},
stacktrace: [
{Axon, :layer, 3, [file: ~c"lib/axon.ex", line: 346]},
{:elixir, :eval_external_handler, 3, [file: ~c"src/elixir.erl", line: 388]},
{:erl_eval, :do_apply, 7, [file: ~c"erl_eval.erl", line: 919]},
{:erl_eval, :expr, 6, [file: ~c"erl_eval.erl", line: 663]},
{:elixir, :eval_forms, 4, [file: ~c"src/elixir.erl", line: 366]},
{Module.ParallelChecker, :verify, 1, [file: ~c"lib/module/parallel_checker.ex", line: 120]}
]
}
}
# 3
#Nx.Tensor<
f32[1][784]
Nx.TemplateBackend
>
# 4
%{}
# 5
%{}
# 6
%{num_params: 0, total_param_byte_size: 0}
Attempted function clauses (showing 2 out of 2):
defp do_axon_to_rows(%Axon.Node{id: id, op: structure, op_name: :container, parent: [parents], name: name_fn}, nodes, templates, cache, op_counts, model_info)
defp do_axon_to_rows(%Axon.Node{
id: id,
parent: parents,
parameters: params,
name: name_fn,
opts: opts,
policy: %{params: {_, bitsize}},
op_name: op_name
}, nodes, templates, cache, op_counts, model_info)
(axon 0.7.0) lib/axon/display.ex:93: Axon.Display.do_axon_to_rows/6
(axon 0.7.0) lib/axon/display.ex:85: Axon.Display.axon_to_rows/6
(axon 0.7.0) lib/axon/display.ex:39: Axon.Display.as_table/2
#cell:r744jk7wwgcawf6v:2: (file)
Perhaps not hyper important as the graph contains the same info but it is nice how the table has the labels.
First Post!
iprog4u
Updating to latest versions does not correct the error.
Mix.install([
{:axon, "~> 0.7.0"},
{:nx, "~> 0.9.2"},
{:exla, "~> 0.9.2"},
{:stb_image, "~> 0.6.10"},
{:kino, "~> 0.17.0"},
{:table_rex, "~> 3.1.1"}
])
Anyone have any ideas what else to try?
Popular Pragmatic Bookshelf topics
Hi everyone!
There is an error on the page 71 in the book “Programming machine learning from coding to depp learning” P. Perrotta. You c...
New
Title: Hands-On Rust (Chap 8 (Adding a Heads Up Display)
It looks like
.with_simple_console_no_bg(SCREEN_WIDTH*2, SCREEN_HEIGHT*2...
New
Hi Jamis,
I think there’s an issue with a test on chapter 6. I own the ebook, version P1.0 Feb. 2019.
This test doesn’t pass for me:
...
New
I am working on the “Your Turn” for chapter one and building out the restart button talked about on page 27. It recommends looking into ...
New
When running tox for the first time, I got the following error:
ERROR: InterpreterNotFound: python3.10
I realised that I was running ...
New
Hi,
I completed chapter 6 but am getting the following error when running:
thread 'main' panicked at 'Failed to load texture: IoError(O...
New
Is there any place where we can discuss the solutions to some of the exercises? I can figure most of them out, but am having trouble with...
New
I am using Android Studio Chipmunk | 2021.2.1 Patch 2
Build #AI-212.5712.43.2112.8815526, built on July 10, 2022
Runtime version: 11.0....
New
I got this error when executing the plot files on macOS Ventura 13.0.1 with Python 3.10.8 and matplotlib 3.6.1:
programming_ML/code/03_...
New
Hello faithful readers! If you have tried to follow along in the book, you are asked to start up the dev environment via dx/build and ar...
New
Other popular topics
I know that these benchmarks might not be the exact picture of real-world scenario, but still I expect a Rust web framework performing a ...
New
I am thinking in building or buy a desktop computer for programing, both professionally and on my free time, and my choice of OS is Linux...
New
Please tell us what is your preferred monitor setup for programming(not gaming) and why you have chosen it.
Does your monitor have eye p...
New
You might be thinking we should just ask who’s not using VSCode :joy: however there are some new additions in the space that might give V...
New
poll
poll
Be sure to check out @Dusty’s article posted here: An Introduction to Alternative Keyboard Layouts It’s one of the best write-...
New
Saw this on TikTok of all places! :lol:
Anyone heard of them before?
Lite:
New
Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New
A concise guide to MySQL 9 database administration, covering fundamental concepts, techniques, and best practices.
Neil Smyth
MySQL...
New
Background
Lately I am in a quest to find a good quality TTS ai generation tool to run locally in order to create audio for some videos I...
New
Ok, well here are some thoughts and opinions on some of the ergonomic keyboards I have, I guess like mini review of each that I use enoug...
New
Categories:
Sub Categories:
Popular Portals
- /elixir
- /rust
- /ruby
- /wasm
- /erlang
- /phoenix
- /keyboards
- /python
- /js
- /rails
- /security
- /go
- /swift
- /vim
- /clojure
- /java
- /emacs
- /haskell
- /svelte
- /onivim
- /typescript
- /kotlin
- /c-plus-plus
- /crystal
- /tailwind
- /react
- /gleam
- /ocaml
- /flutter
- /elm
- /vscode
- /ash
- /html
- /opensuse
- /zig
- /centos
- /deepseek
- /php
- /scala
- /react-native
- /lisp
- /sublime-text
- /textmate
- /nixos
- /debian
- /agda
- /django
- /kubuntu
- /arch-linux
- /deno
- /nodejs
- /revery
- /ubuntu
- /manjaro
- /spring
- /lua
- /diversity
- /markdown
- /julia
- /c








