- 
                Notifications
    You must be signed in to change notification settings 
- Fork 14
Open
Labels
kind/bugSomething isn't workingSomething isn't working
Milestone
Description
Hi,
I've installed trustyai-explainability-python via pip install,
I have a simple script:
import numpy as np
weights = [ 0.48813504 , 2.15189366 , 1.02763376 , 0.44883183 , -0.76345201 ]
print(weights)
def linear_model(x):
    return np.dot(x, weights)
model_input = [[0.29208386, 0.25937293, 0.13194835, 0.43230385, 0.24575673]]
print(model_input)
model_output = linear_model(model_input)
print(model_output)
from trustyai.model import Model
model = Model(fn=linear_model)
model_output = model(model_input)
print(model_output)
from trustyai.explainers import LimeExplainer
lime_explainer = LimeExplainer(samples=1000, normalise_weights=False)
lime_explanation = lime_explainer.explain(
        inputs = model_input[0],
        outputs = model_output,
        model = model)
print(lime_explanation.as_dataframe())which fails with:
---------------------------------------------------------------------------
java.lang.UnsupportedOperationException   Traceback (most recent call last)
File ForkJoinWorkerThread.java:188, in java.util.concurrent.ForkJoinWorkerThread.run()
java.lang.UnsupportedOperationException: java.lang.UnsupportedOperationException: sun.misc.Unsafe or java.nio.DirectByteBuffer.<init>(long, int) not available
The above exception was the direct cause of the following exception:
Exception                                 Traceback (most recent call last)
File CompletableFuture.java:2073, in java.util.concurrent.CompletableFuture.get()
Exception: Java Exception
The above exception was the direct cause of the following exception:
java.util.concurrent.ExecutionException   Traceback (most recent call last)
Cell In[2], [line 4](vscode-notebook-cell:?execution_count=2&line=4)
      [1](vscode-notebook-cell:?execution_count=2&line=1) from trustyai.explainers import LimeExplainer
      [3](vscode-notebook-cell:?execution_count=2&line=3) lime_explainer = LimeExplainer(samples=1000, normalise_weights=False)
----> [4](vscode-notebook-cell:?execution_count=2&line=4) lime_explanation = lime_explainer.explain(
      [5](vscode-notebook-cell:?execution_count=2&line=5)         inputs = model_input[0],
      [6](vscode-notebook-cell:?execution_count=2&line=6)         outputs = model_output,
      [7](vscode-notebook-cell:?execution_count=2&line=7)         model = model)
      [8](vscode-notebook-cell:?execution_count=2&line=8) print(lime_explanation.as_dataframe())
File [~/.pyenv/versions/3.11.6/lib/python3.11/site-packages/trustyai/explainers/lime.py:351](https://file+.vscode-resource.vscode-cdn.net/Users/mmortari/git/trustyai-20240113-tutorial/~/.pyenv/versions/3.11.6/lib/python3.11/site-packages/trustyai/explainers/lime.py:351), in LimeExplainer.explain(self, inputs, outputs, model)
    [348](https://file+.vscode-resource.vscode-cdn.net/Users/mmortari/git/trustyai-20240113-tutorial/~/.pyenv/versions/3.11.6/lib/python3.11/site-packages/trustyai/explainers/lime.py:348) _prediction = simple_prediction(inputs, outputs, feature_names, output_names)
    [350](https://file+.vscode-resource.vscode-cdn.net/Users/mmortari/git/trustyai-20240113-tutorial/~/.pyenv/versions/3.11.6/lib/python3.11/site-packages/trustyai/explainers/lime.py:350) with Model.ArrowTransmission(model, inputs):
--> [351](https://file+.vscode-resource.vscode-cdn.net/Users/mmortari/git/trustyai-20240113-tutorial/~/.pyenv/versions/3.11.6/lib/python3.11/site-packages/trustyai/explainers/lime.py:351)     return LimeResults(self._explainer.explainAsync(_prediction, model).get())
java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException: sun.misc.Unsafe or java.nio.DirectByteBuffer.<init>(long, int) not available
reproducer:
tai.ipynb.zip
java --version
openjdk 21.0.1 2023-10-17
OpenJDK Runtime Environment Homebrew (build 21.0.1)
OpenJDK 64-Bit Server VM Homebrew (build 21.0.1, mixed mode, sharing)
pip show trustyai
Name: trustyai
Version: 0.3.0
Summary: Python bindings to the TrustyAI explainability library.
Home-page: 
Author: 
Author-email: Rui Vieira <[email protected]>
License: Apache License Version 2.0
Location: /Users/mmortari/.pyenv/versions/3.11.6/lib/python3.11/site-packages
Requires: Jpype1, jupyter-bokeh, matplotlib, numpy, pandas, pyarrow
Required-by: 
Metadata
Metadata
Assignees
Labels
kind/bugSomething isn't workingSomething isn't working
Type
Projects
Status
Todo
