EleutherAI / concept-erasure

Erasing concepts from neural representations with provable guarantees
MIT License
209 stars 15 forks source link

QuadraticEraser doesn't import the same way as LeaceEraser #8

Open QuintinPope opened 1 year ago

QuintinPope commented 1 year ago

image This was the only code that executed in the runtime, and the same thing happens for both CUDA and CPU instances.

Am I wrong in thinking QuadraticEraser is supposed to work the same as LeaceEraser?

Adapting the code from: https://github.com/EleutherAI/concept-erasure/blob/9689ef5223fe1e6b3b74cd5e90bf1c2bbba5537a/tests/test_leace.py#L18 also fails:

!pip install concept-erasure datasets transformers --quiet

from itertools import pairwise, product

import numpy as np
import pytest
import torch
import torch.nn.functional as F
from sklearn.datasets import make_classification
from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import log_loss
from sklearn.svm import LinearSVC

from concept_erasure import (
    ErasureMethod,
    LeaceFitter,
    OracleEraser,
    OracleFitter,
    QuadraticEraser,
    optimal_linear_shrinkage,
)
from concept_erasure.optimal_transport import is_positive_definite
norabelrose commented 1 year ago

this is a pypi issue, will push a new release soon