in sae-viewer/src/components/featureSelect.tsx [15:55]
export default function FeatureSelect({init_feature, onFeatureChange, onFeatureSubmit, show_go}: FeatureSelectProps) {
let [feature, setFeature] = useState(init_feature);
let family = AUTOENCODER_FAMILIES[feature.autoencoder.family];
let [warningAcknowledged, setWarningAcknowledged] = useState<boolean>(localStorage.getItem('warningAcknowledged') === 'true');
let changeFeature = (feature: Feature) => {
onFeatureChange && onFeatureChange(feature);
setFeature(feature);
}
// console.log('features', feature.autoencoder.num_features)
const feelingLuckySubmit = () => {
const atom = Math.floor(Math.random() * feature.autoencoder.num_features);
const random_feature: Feature = {atom, autoencoder: feature.autoencoder}
setFeature(random_feature);
onFeatureSubmit(random_feature);
return false
}
const acknowledgeWarning = () => {
localStorage.setItem('warningAcknowledged', 'true');
setWarningAcknowledged(true);
}
if (!warningAcknowledged) {
return (<button
onClick={acknowledgeWarning}
className="border border-gray-300 rounded-md p-2 bg-red-200"
>
Note: by clicking this button you acknowledge that the content of the documents are taken randomly from the internet, and may contain offensive or inappropriate content.
</button>)
}
return (
<>
<h3>
<b>Subject model</b> {" "}
<select value={feature.autoencoder.subject} onChange={(e) => {
let family = Object.values(AUTOENCODER_FAMILIES).find((family) => (family.subject === e.target.value));
changeFeature({
atom: 0, autoencoder: family.get_ae(family.default_H(feature.autoencoder.H))
})
}}>