Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mrywhh
Real-Time-Voice-Cloning
提交
f6fabeaf
R
Real-Time-Voice-Cloning
项目概览
mrywhh
/
Real-Time-Voice-Cloning
落后 Fork 源项目 12 个版本
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Real-Time-Voice-Cloning
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
f6fabeaf
编写于
7月 04, 2020
作者:
B
blue-fish
提交者:
GitHub
7月 04, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Enable CPU training for vocoder (#397)
上级
ba1a78d8
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
22 addition
and
7 deletion
+22
-7
vocoder/models/fatchord_version.py
vocoder/models/fatchord_version.py
+11
-4
vocoder/train.py
vocoder/train.py
+11
-3
未找到文件。
vocoder/models/fatchord_version.py
浏览文件 @
f6fabeaf
...
...
@@ -118,8 +118,12 @@ class WaveRNN(nn.Module):
def
forward
(
self
,
x
,
mels
):
self
.
step
+=
1
bsize
=
x
.
size
(
0
)
h1
=
torch
.
zeros
(
1
,
bsize
,
self
.
rnn_dims
).
cuda
()
h2
=
torch
.
zeros
(
1
,
bsize
,
self
.
rnn_dims
).
cuda
()
if
torch
.
cuda
.
is_available
():
h1
=
torch
.
zeros
(
1
,
bsize
,
self
.
rnn_dims
).
cuda
()
h2
=
torch
.
zeros
(
1
,
bsize
,
self
.
rnn_dims
).
cuda
()
else
:
h1
=
torch
.
zeros
(
1
,
bsize
,
self
.
rnn_dims
).
cpu
()
h2
=
torch
.
zeros
(
1
,
bsize
,
self
.
rnn_dims
).
cpu
()
mels
,
aux
=
self
.
upsample
(
mels
)
aux_idx
=
[
self
.
aux_dims
*
i
for
i
in
range
(
5
)]
...
...
@@ -209,8 +213,11 @@ class WaveRNN(nn.Module):
if
self
.
mode
==
'MOL'
:
sample
=
sample_from_discretized_mix_logistic
(
logits
.
unsqueeze
(
0
).
transpose
(
1
,
2
))
output
.
append
(
sample
.
view
(
-
1
))
# x = torch.FloatTensor([[sample]]).cuda()
x
=
sample
.
transpose
(
0
,
1
).
cuda
()
if
torch
.
cuda
.
is_available
():
# x = torch.FloatTensor([[sample]]).cuda()
x
=
sample
.
transpose
(
0
,
1
).
cuda
()
else
:
x
=
sample
.
transpose
(
0
,
1
)
elif
self
.
mode
==
'RAW'
:
posterior
=
F
.
softmax
(
logits
,
dim
=
1
)
...
...
vocoder/train.py
浏览文件 @
f6fabeaf
...
...
@@ -10,6 +10,7 @@ import torch.nn.functional as F
import
vocoder.hparams
as
hp
import
numpy
as
np
import
time
import
torch
def
train
(
run_id
:
str
,
syn_dir
:
Path
,
voc_dir
:
Path
,
models_dir
:
Path
,
ground_truth
:
bool
,
...
...
@@ -32,8 +33,14 @@ def train(run_id: str, syn_dir: Path, voc_dir: Path, models_dir: Path, ground_tr
hop_length
=
hp
.
hop_length
,
sample_rate
=
hp
.
sample_rate
,
mode
=
hp
.
voc_mode
).
cuda
()
)
if
torch
.
cuda
.
is_available
():
model
=
model
.
cuda
()
device
=
torch
.
device
(
'cuda'
)
else
:
device
=
torch
.
device
(
'cpu'
)
# Initialize the optimizer
optimizer
=
optim
.
Adam
(
model
.
parameters
())
for
p
in
optimizer
.
param_groups
:
...
...
@@ -79,7 +86,8 @@ def train(run_id: str, syn_dir: Path, voc_dir: Path, models_dir: Path, ground_tr
running_loss
=
0.
for
i
,
(
x
,
y
,
m
)
in
enumerate
(
data_loader
,
1
):
x
,
m
,
y
=
x
.
cuda
(),
m
.
cuda
(),
y
.
cuda
()
if
torch
.
cuda
.
is_available
():
x
,
m
,
y
=
x
.
cuda
(),
m
.
cuda
(),
y
.
cuda
()
# Forward pass
y_hat
=
model
(
x
,
m
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录