|
--- |
|
base_model: InstaDeepAI/nucleotide-transformer-500m-1000g |
|
library_name: transformers.js |
|
pipeline_tag: feature-extraction |
|
--- |
|
|
|
https://huggingface.co/InstaDeepAI/nucleotide-transformer-500m-1000g with ONNX weights to be compatible with Transformers.js. |
|
|
|
## Usage (Transformers.js) |
|
|
|
If you haven't already, you can install the [Transformers.js](https://huggingface.co/docs/transformers.js) JavaScript library from [NPM](https://www.npmjs.com/package/@huggingface/transformers) using: |
|
```bash |
|
npm i @huggingface/transformers |
|
``` |
|
|
|
**Example:** Retrieve embeddings from a dummy DNA sequence. |
|
|
|
```js |
|
import { pipeline } from '@huggingface/transformers'; |
|
|
|
// Create feature extraction pipeline |
|
const extractor = await pipeline('feature-extraction', 'Xenova/nucleotide-transformer-500m-1000g', { |
|
dtype: "fp32" // Options: "fp32", "fp16", "q8", "q4" |
|
}); |
|
|
|
// Perform feature extraction |
|
const sequences = ["ATTCCGATTCCGATTCCG", "ATTTCTCTCTCTCTCTGAGATCGATCGATCGAT"] |
|
const output = await extractor(sequences, { pooling: 'mean' }); |
|
console.log(output) |
|
// Tensor { |
|
// dims: [ 2, 1280 ], |
|
// type: 'float32', |
|
// data: Float32Array(2560) [ -0.591946005821228, -0.8283093571662903, ... ], |
|
// size: 2560 |
|
// } |
|
``` |
|
|
|
You can convert the `output` Tensor to a nested JavaScript array using `.tolist()`: |
|
```js |
|
console.log(output.tolist()); |
|
// [ |
|
// [ -0.591946005821228, -0.8283093571662903, -0.49790817499160767, ... ], |
|
// [ -0.5775232315063477, -0.8485714793205261, -0.5186372995376587, ... ] |
|
// ] |
|
``` |
|
|
|
--- |
|
|
|
Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using [🤗 Optimum](https://huggingface.co/docs/optimum/index) and structuring your repo like this one (with ONNX weights located in a subfolder named `onnx`). |