Skip to content
GitLab
探索
登录
主导航
搜索或转到…
项目
A
alphafold2
管理
动态
成员
标记
计划
议题
0
议题看板
里程碑
迭代
Wiki
代码
合并请求
0
仓库
分支
提交
标签
仓库图
比较修订版本
代码片段
锁定的文件
构建
流水线
作业
流水线计划
产物
部署
发布
软件包库
运维
环境
Terraform 模块
监控
事件
服务台
分析
价值流分析
Contributor analytics
CI/CD 分析
仓库分析
代码评审分析
议题分析
模型实验
帮助
帮助
支持
GitLab 文档
比较 GitLab 各版本
社区论坛
为极狐GitLab 提交贡献
提交反馈
快捷键
?
支持
扫描加入微信群:
1. 获取企业级DevOps解决方案支持
2. 免费或折扣极狐GitLab 官方培训认证
代码片段
群组
项目
HPCSource
alphafold2
提交
5aefd2fe
提交
5aefd2fe
编辑于
3年前
作者:
Phil Wang
浏览文件
操作
下载
补丁
差异文件
make sure sparse attention gets relative positional encoding as well
上级
14e4f282
分支
分支 包含提交
标签
0.0.78
标签 包含提交
无相关合并请求
变更
2
隐藏空白变更内容
行内
左右并排
显示
2 个更改的文件
alphafold2_pytorch/alphafold2.py
+9
-2
9 个添加, 2 个删除
alphafold2_pytorch/alphafold2.py
setup.py
+1
-1
1 个添加, 1 个删除
setup.py
有
10 个添加
和
3 个删除
alphafold2_pytorch/alphafold2.py
+
9
−
2
浏览文件 @
5aefd2fe
...
...
@@ -262,6 +262,11 @@ class Attention(nn.Module):
self
.
rotary_sinu_emb
=
FixedPositionalEmbedding
(
dim_head
)
if
rotary_rpe
else
None
def
apply_rpe
(
self
,
q
,
k
):
sinu_emb
=
self
.
rotary_sinu_emb
(
q
)
q
,
k
=
apply_rotary_pos_emb
(
q
,
k
,
sinu_emb
)
return
q
,
k
def
forward
(
self
,
x
,
context
=
None
,
mask
=
None
,
context_mask
=
None
,
tie_attn_dim
=
None
,
**
kwargs
):
device
,
orig_shape
,
h
,
has_context
=
x
.
device
,
x
.
shape
,
self
.
heads
,
exists
(
context
)
...
...
@@ -300,8 +305,7 @@ class Attention(nn.Module):
# rotary relative positional encoding
if
exists
(
self
.
rotary_sinu_emb
)
and
not
has_context
:
sinu_emb
=
self
.
rotary_sinu_emb
(
q
)
q
,
k
=
apply_rotary_pos_emb
(
q
,
k
,
sinu_emb
)
q
,
k
=
self
.
apply_rpe
(
q
,
k
)
# for tying row-attention, for MSA axial self-attention
...
...
@@ -390,6 +394,9 @@ class SparseAttention(Attention):
q
,
k
,
v
=
(
self
.
to_q
(
x
),
*
self
.
to_kv
(
x
).
chunk
(
2
,
dim
=
-
1
))
q
,
k
,
v
=
map
(
lambda
t
:
rearrange
(
t
,
'
b n (h d) -> b h n d
'
,
h
=
h
),
(
q
,
k
,
v
))
if
exists
(
self
.
rotary_sinu_emb
):
q
,
k
=
self
.
apply_rpe
(
q
,
k
)
key_pad_mask
=
None
if
exists
(
mask
):
key_pad_mask
=
repeat
(
~
mask
,
'
b n -> b h n
'
,
h
=
h
)
...
...
This diff is collapsed.
Click to expand it.
setup.py
+
1
−
1
浏览文件 @
5aefd2fe
...
...
@@ -3,7 +3,7 @@ from setuptools import setup, find_packages
setup
(
name
=
'
alphafold2-pytorch
'
,
packages
=
find_packages
(),
version
=
'
0.0.7
7
'
,
version
=
'
0.0.7
8
'
,
license
=
'
MIT
'
,
description
=
'
AlphaFold2 - Pytorch
'
,
author
=
'
Phil Wang, Eric Alcaide
'
,
...
...
This diff is collapsed.
Click to expand it.
预览
0%
请重试
或
添加新附件
.
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
保存评论
取消
想要评论请
注册
或
登录