EleutherAI / concept-erasure

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

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

Open QuintinPope opened 11 months ago

QuintinPope commented 11 months 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 11 months ago

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