transformer在生物基因DNA的应用:DNABERT、DNABERT-2

参考:
https://www.youtube.com/watch?v=mk-Se29QPBA&t=1388s

写明这些训练模型可以最终训练好可以进行DNA特征向量的提取,应用与后续

在这里插入图片描述

1、DNABERT

https://github.com/jerryji1993/DNABERT

主要思路就是把DNA序列当成连续文本数据,直接用成熟的自然语言训练模型transformer进行生物DNA序列数据的训练
不同点主要就是ATCG序列切分token,DNA序创造了k-mer切分方法

3k-mer切分下图:
在这里插入图片描述

在这里插入图片描述

2、DNABERT-2

https://github.com/MAGICS-LAB/DNABERT_2

DNABERT-2主要是切次方法的改进
在这里插入图片描述
向量特征提前:

import torch
from transformers import AutoTokenizer, AutoModel

tokenizer = AutoTokenizer.from_pretrained("zhihan1996/DNABERT-2-117M", trust_remote_code=True)
model = AutoModel.from_pretrained("zhihan1996/DNABERT-2-117M", trust_remote_code=True)

dna = "ACGTAGCATCGGATCTATCTATCGACACTTGGTTATCGATCTACGAGCATCTCGTTAGC"
inputs = tokenizer(dna, return_tensors = 'pt')["input_ids"]
hidden_states = model(inputs)[0] # [1, sequence_length, 768]

# embedding with mean pooling
embedding_mean = torch.mean(hidden_states[0], dim=0)
print(embedding_mean.shape) # expect to be 768

# embedding with max pooling
embedding_max = torch.max(hidden_states[0], dim=0)[0]
print(embedding_max.shape) # expect to be 768

相关推荐

  1. Transformer架构顶层应用基础知识

    2024-04-13 12:42:05       42 阅读
  2. VIT(transformer计算机视觉方面应用)

    2024-04-13 12:42:05       30 阅读
  3. Transformer模型多任务学习中革新应用

    2024-04-13 12:42:05       29 阅读
  4. Python生物信息学中应用:捕获所有异常

    2024-04-13 12:42:05       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-13 12:42:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-13 12:42:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-13 12:42:05       87 阅读
  4. Python语言-面向对象

    2024-04-13 12:42:05       96 阅读

热门阅读

  1. 蓝桥杯嵌入式之电位器R37和R38存入EEPROM

    2024-04-13 12:42:05       36 阅读
  2. Qt/QML编程之路:图片进度条的实现(50)

    2024-04-13 12:42:05       33 阅读
  3. 程序员如何提高收入

    2024-04-13 12:42:05       38 阅读
  4. 全国大学生电子设计大赛-TI杯2020年赛题分享

    2024-04-13 12:42:05       38 阅读
  5. 7天八股速记之C++后端——Day 3

    2024-04-13 12:42:05       35 阅读
  6. 基于可变形卷积的大规模视觉基础模型的探索

    2024-04-13 12:42:05       47 阅读
  7. 安卓开发 网络编程 OKHTTP 的使用

    2024-04-13 12:42:05       33 阅读