plot attention alignments

This commit is contained in:
Eren Golge committed 2018-02-02 05:37:09 -08:00
1 parent 235ce071c6
commit 4e0ab65bbf
5 files changed
+66 -55

No files matched your search

Binary file not shown.
+1 -1
View File
@@ -53,7 +53,7 @@ class LJSpeechDataset(Dataset):
text = [d['text'] for d in batch]
text_lenghts = [len(x) for x in text]
max_text_len = np.max(text_lengths)
max_text_len = np.max(text_lenghts)
wav = [d['wav'] for d in batch]
# PAD sequences with largest length of the batch
+2 -1
View File
@@ -55,6 +55,7 @@ class AttentionWrapper(nn.Module):
processed_memory=None, mask=None, memory_lengths=None):
if processed_memory is None:
processed_memory = memory
if memory_lengths is not None and mask is None:
mask = get_mask_from_lengths(memory, memory_lengths)
@@ -73,7 +74,7 @@ class AttentionWrapper(nn.Module):
alignment.data.masked_fill_(mask, self.score_mask_value)
# Normalize attention weight
alignment = F.softmax(alignment, dim=-1) ## TODO: might be buggy
alignment = F.softmax(alignment, dim=-1)
# Attention context vector
# (batch, 1, dim)
+58 -51
View File
@@ -2,26 +2,15 @@
"cells": [
{
"cell_type": "code",
"execution_count": 14,
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The autoreload extension is already loaded. To reload it, use:\n",
" %reload_ext autoreload\n",
"Populating the interactive namespace from numpy and matplotlib\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/erogol/miniconda3/envs/pytorch/lib/python3.6/site-packages/IPython/core/magics/pylab.py:160: UserWarning: pylab import has clobbered these variables: ['plt']\n",
"`%matplotlib` prevents importing * from pylab and numpy\n",
" \"\\n`%matplotlib` prevents importing * from pylab and numpy\"\n"
]
}
],
"source": [
@@ -55,7 +44,7 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 2,
"metadata": {
"collapsed": true
},
@@ -71,12 +60,14 @@
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"ROOT_PATH = '../result/January-31-2018_08:39AM/'\n",
"MODEL_PATH = ROOT_PATH + '/checkpoint_6800.pth.tar'\n",
"ROOT_PATH = '../result/February-01-2018_08:55AM/'\n",
"MODEL_PATH = ROOT_PATH + '/checkpoint_6200.pth.tar'\n",
"CONFIG_PATH = ROOT_PATH + '/config.json'\n",
"OUT_FOLDER = ROOT_PATH + '/test/'\n",
"CONFIG = load_config(CONFIG_PATH)\n",
@@ -85,9 +76,17 @@
},
{
"cell_type": "code",
"execution_count": 17,
"execution_count": 4,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" | > Embedding dim : 149\n"
]
}
],
"source": [
"# load the model\n",
"model = Tacotron(CONFIG.embedding_size, CONFIG.hidden_size,\n",
@@ -111,7 +110,7 @@
},
{
"cell_type": "code",
"execution_count": 18,
"execution_count": 5,
"metadata": {
"collapsed": true
},
@@ -126,7 +125,27 @@
},
{
"cell_type": "code",
"execution_count": 19,
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.decoder.prenet.dropout.training"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
@@ -141,7 +160,7 @@
},
{
"cell_type": "code",
"execution_count": 20,
"execution_count": 8,
"metadata": {
"collapsed": true
},
@@ -152,7 +171,7 @@
},
{
"cell_type": "code",
"execution_count": 21,
"execution_count": 9,
"metadata": {},
"outputs": [
{
@@ -171,17 +190,24 @@
},
{
"cell_type": "code",
"execution_count": 22,
"execution_count": 10,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Warning! doesn't seems to be converged\n"
]
},
{
"data": {
"text/html": [
"\n",
" <audio controls=\"controls\" >\n",
" <source src=\"data:audio/wav;base64,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 truncated
" <source src=\"data:audio/wav;base64,UklGRiRlBABXQVZFZm10IBAAAAABAAEAIE4AAECcAAACABAAZGF0YQBlBAD0/9v/0//R/93/z/+3/6P/jP92/13/SP8m/yP/KP8x/zP/P/9z/6n/y//T/8r/uv+o/5D/af8z/wH/0v6d/l/+Af6X/Uz9IP3//Oj87PwJ/Sj9Tv2M/ez9W/65/g3/cv/n/4QANAHQAUwCrQL1AjUDgAPOAxoELwQXBNwDugOtA4YDOAOsAhwChAH2AIgAGgCd/wP/Zv72/aT9V/0L/ar8Z/xf/Hf8lvyr/Ob8M/1g/YX9pv3C/e/9HP5i/pP+pf7J/iD/kP/a/xgAWQCmAAsBbQG9ARMChgIBAzkDJgMJAwgDDAPRAnoCLAIIAhUCEQIFAg0CIgJAAioCJgJjAokCrgLcAhUDMgPUAjgCpAEzAfYAOAAD/739mPzj+zD7SPpj+a74SPgK+NH3q/fe95j4lfl3+iH70vup/Jn9e/5w/3UAPAEQAs4CQQOkAw8EuwRkBZEFZwU1BQUFBgVRBYQFUgWjBMEDGQOTAuwBQgG1AFkAMADh/1X/xP4m/o797fwv/Ab8z/zK/Tr+Jv4R/oj+Sf/F/ysAfADUADQBqQE+AqUC4QKlAk8C/QGmAXwBOwERAfIApwAuAGT/lv7P/eH8B/xA+w77V/vC+wb8oPsp+4r76fx1/kX/mf9BADMBYALKAwcFHwZPBnkFdARWA9oCqQEj/5f8bPpc+Xj4Ivfm9eL0i/Tj9Df1lfXE9t34y/sB/5ABiwO/BLUFGAeFCOkJEgs2DEENRg50D1gQTBF+ElkTwRNgE8gSPRKDEZwQ3Q5SDGUIwQPD/3j8Mvk69czwBu2K6nLolOY85fPkL+Uz5Wjlc+ZZ6InqgezG7VTvSPFS82H1f/fM+i//SAPaBUAH7gjAC1YPbBHNEe0RvRIVFMgSahB4DiENVQ0pDHAJtgXmAlsC6wF/AQ0CTQOYBNQEaAVOBxoIzwgICaoIfwjbBzkIxAfKBeADlwKDAkICwQC4/XD6ffmL+o76A/hl9PbxqfAe7tPqT+l96mDsrut+6dnnsuj263PuVu/X75DydvaG+eH7Jv/TBJELwxJqGC8bjhs7G2EcoR0UHeoZoha4FAYRdQoIAub6rfQN7RHmqOFa4SLiK+G+37jgRuYx7cfyp/ZV+1MDnAvtEUAXph3SJf8qbysDKhUo7iZPJIsgHh3YF7ARqgv+BzcGuAGB+xT11fGI8oPzvvR28/HyKPXG9lX35PS39GT4ofkE9gDuZuhg6WPsqe0g6vjj1d+93y/jAOZy54TouusG8MnyRPSY9e75FQC1BfoIYQuHEbUa0yHsIswebxvSG5MeCSJvITcd/BbOEDsNNwfW/U/05+tx5LTaX9DPy8XKBcoNx0LEO8dnzM/TW9tq41jtdPcJBlYXryhVNug/v0vqWbdml2sPaDpgNFmgVUpQ2EihPxU4qjKnJj8V9gX4/gD/G/Yp4mLO/sW0zWjUA9PizMXI9coax7u7SLIhtNm++8OfwY3AgcbuzxnWrde81hrW5dvm6R/6hwakC0wPaxU6HMwgRSCeHjUg5iKmIEIaQBRmE/cQNgjw/kf3HPY186/s3emw7C70pvYw88HzjvyXBuwLbQxbET0bJiNkKMAnYCfpKY4u9DFWLZYj+xsRGkkXPRSNEDYNlw1kB0UC9f6w/IYD0AL0/dH0j+5q+UEEjA1qDKUDUP139+z6//8FAeD7XPQy9D/4Y/tF+gn3zfVh9bPxM+pB4tXiUOo071HtduP52SfTtM711Nzh3u6W9rTzKfFt7avn1ObG5iHo2Oh86LXq4Ogb4ObbMuPx8ef8VP60AcoN+xz3JQcpAzHkPC1G3UBvMu0qcySfIIgcPhnEH+8dCBOKBKL0rveXBckXUCLrGFsUfRvjKNEwFSo/JQEf1xB5BQgFqBFWFzUMef2A8hbqe+JR3dzdrOAc3/fbDNPDyenLe9Rl3njVP8ScwkrILdXI1hrXJ+Th7gP+ogJuArkDvAc6FzEcVxuGE/4U+yPrJ64o0RtAEGoIUfqF/JEGwxepH/AOHAEf/YYDMQKY8kPmwuTl7J/tberl3znUDdBVyTbKqcvbzgrfBuj97yf6bfu9ArYESQ1QHwAmTDSNSolmC3rlcA1jT1ghUXtQP0flRzRG4jjRI0D7ld2/03nhzfXZ8L7VgbZirXS14LpmvLPC9tLN3bnWpM2r0pvgjfHD9nn5MwIWDI4iPirYJNsclRWiHHsbkxZUGTYcVCKIHV0PR/8A6Tvdltj72u3eaNco0nnS/9je5NzhA9m2ztTIPthZ7j0OiB4LFvID0fzoE4cn4yg2G7MUFBeLCE30HO+y/wETpAhB8p7m7OYQ+hoFWg4cDr7+WQQoElYnZy3SH3wm8zeeSPtDDClPGDgONQoCCXYKlhWgHBETl/tc51/b5N1V2tnT9NRc1Unosfd1B2wOsPtc6lfdVuhJBLkaCSSlGG4Ed/VF9Kj54AKCCFgIm/vI4M7WYeRPBT0VGgZq9Ybp8uxC67/j1u1y+mkLShCFAg/+SPx+BEQJZf3Y9+H79BXbMPA2sCBB9KDXcNm9+5sV6RMVAh3uyOgD3HbMA8qpzWXalNVjwrK7Vba3zrPm7PFz/VX2mQXaEw8b1SUmJnM2x0hSVzZg9FWVRf84DzoRTH1ZqVAzNcAbmhVWF98WoRGPFPIYAxLxAKrrYfKW+073odh9sdu1gcUX5Obrt96+zuincaEupTW4l9FC4kr/ywJB97711wgNI6YjbBKtFv8u6kE7Pksr5ScaL0Qv5Bo2/bDqDeja6wbsxOTX2rHIurvSvOm8xMO3wKrOKuS35JvcD8xW4YMDZA/6C6T/pRgVM4spAxPvAO8hMUyxVuFJcS0gMLcvFiL6DEUDXCU0N2km0v/D6O/+oQvYBAACTP7yA8f1nfC5DZwenSCUCfb17fEh60fy7fsY/J/sH9+64ujgS9WW0c7mPwB0Bzj8Lv5MCvIK8QuuBrQK4QYr+bL4efzPByECt/DZ49rZJOrG9PP0NOoGz/bSDeaZ+bUHPP+8+bP7De4V42fgFeZJAasI+QrADWr/l/2M9dv4swm+F34n5iCqCPr7bw3+Jt0oFQ/3/7oNrRhEHK8j2zJyQJY3TzCNM+c50zVBJAUWTgG2A5UYRSgLHZbrB9D50vLUPNJfyXHVqd7nxjSyx7JP3E0DgATO8I/XRNlg5WTiZeF77UESeDTgKNoVZgmwDMMVDgnhCxURfQzZDB3/egSQDWICJv3j40Xcm+lm7pP1NPN+6nDpj9/C3ojwdO+I5rPWw93t8uv2nen81vDX3dkl3JHmFf8bI6Y2WzP5LjcwijF7ORpIoGSzfn5yTl6eRgk+v0ieSRVEHyGo86jYsd1C8bj3lOmxzwTDlrpSuOG+I8qF4dvpzuQm4Vjoef/6CMwHYAFmBqESyBnmHe0N6f/L8jf1SwhgDl0gLSKvD+vvwLgwvbXaC/MeBQfmvOg/4gbMM7vQmOyphMJJ3/fzQe8D9dj44QerC23+PPap+54i3znHN1Iu3BsoLQYlHgvp9ObdoAS+I6ou0BiE5jXnKAE4HKQYTe/j4G31ThTYLOcjzyWAMCssYidYGTMvWEnRR78xaxBYBrkFHA30HgQy1TCJF/b6OOtL7I/tbO5M/JwIDg9YAjnm6tCHxGDHbc+v3ZHnDu746czdvdvM2+7aks2YuBiyQ7uFzbDfbemT65XZ+8OBvcLXIAWkH00itAdg8Jjv8wcxOCpba2L9TVMemvei4F/u9iYgWxB/EFjbBs3DXaTg0DACYyY9Lz0OGPh55i3gCO7D6mf1NgBz+WcCefu6Em4umiVNDxrkyeTzBr8lsTlQM9Ql3hkSEakNXwZ98WLytA5/MAg++SDEBdHwutiNysfJLuwyE00Y9wAq37Hbqe9QBCoFve/D40ThhvV5BVoPJBm6DVcGouix06Hf3O7IBKz0YODt7vwLDClTGsLtjMH2qEC2F9+iCYcX2AIt7fzoF+jH2EW48rXr1xz3mgvSEVEnJkJ6KJgB/eGr4wsOQyl5VSl2F25jVDYgpQ8SIpM0lktRPN4lmRJiCJcW3BxtHc8FKOQEwUisfqnLrAHC0sub1FDOQsAjwD21J6/+s7nQjAPBKFg2ZzasM9Q0GTNFOzxR+Wz/fzhoXEJ+GPL5I/oQ9nEJ2BlyDUDvS6/ti7uGepmsxKbgZP1/+ofkCd1H3O3uge1Z5vP1XwsOIEgY1AU0BX0FUwS9+JPvkwGXG9IwQimOCCAB2hbyM1ov2wxQCHoXnR/yCebw/fvPCUENOAbI+6P94/vtAFcJRP2p7VbixeT74RDf4urJAUIMYPHQ31/gB+jS7sfilN/75ojrHQvnIiUnUR6ZBu4Fd/qV7LD2wRE3NC4wXxrmEzUYWiVKJVUw90EmOrEdXvQG8ZD9Qv9A9MPhrvKr/In3feNbxia726hJoFekpsBI7zYWMyOs+mTMlbUWz8MAQxhvH0ARugWnAzQP+ylXQvxT5FCtPGgkxyJaOBw8FR/iAJYHYyDsIPoAY+Qf0uSyPJ8mptvP+fGP4EfN3sYL2uD3u/uAAnEDCggyFUUQtBxfMVRJa1qCNn0Vt/KZ3pzt6fJ+IAJGgVKtRaP/Ys5Pv4jQtflQBC8RhisXNWQ2JRC06sneq9a14A/ls+Y878n2LQcWDcjvWsecr2e52tHI2CXbefBpEAEmLR+iAHHjGdCy1G71lxtVPDpIpzRiDWbaEsj74JcFfBvUFIsJRvyd6a3UxtXJ7LwDags5+fbvXfI6/qcMLBLmIeoy3jpNNnMpBCiVMvA/nEYTO3Uolxg0HH8n6B9yDpz1Z/Dw7SbdGdbu3LL9Kgxx8EDGjanCvf/iJQAHDU79XvHH4L7VHdzs5PgJKiTzJAoPlOb53pDsBg5fKGMjBA069CzLine truncated
" Your browser does not support the audio element.\n",
" </audio>\n",
" "
@@ -202,9 +228,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7f81308483c8>"
"<matplotlib.figure.Figure at 0x7f474bb01630>"
]
},
"metadata": {},
@@ -218,7 +244,7 @@
},
{
"cell_type": "code",
"execution_count": 23,
"execution_count": 11,
"metadata": {},
"outputs": [
{
@@ -227,7 +253,7 @@
"-100.0"
]
},
"execution_count": 23,
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
@@ -238,7 +264,7 @@
},
{
"cell_type": "code",
"execution_count": 24,
"execution_count": 12,
"metadata": {},
"outputs": [
{
@@ -247,7 +273,7 @@
"0.0"
]
},
"execution_count": 24,
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
@@ -258,26 +284,7 @@
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"ename": "SyntaxError",
"evalue": "invalid syntax (<ipython-input-25-0c2c00d6dc20>, line 2)",
"output_type": "error",
"traceback": [
"\u001b[0;36m File \u001b[0;32m\"<ipython-input-25-0c2c00d6dc20>\"\u001b[0;36m, line \u001b[0;32m2\u001b[0m\n\u001b[0;31m ling)\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n"
]
}
],
"source": [
"np.unique(a\n",
" ling)"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 13,
"metadata": {
"collapsed": true
},
+5 -2
View File
@@ -123,7 +123,7 @@ def main(args):
# setup lr
current_lr = lr_decay(c.lr, current_step)
for params_group in optimizer.param_groups:
param_group['lr'] = current_lr
params_group['lr'] = current_lr
optimizer.zero_grad()
@@ -204,11 +204,14 @@ def main(args):
checkpoint_path)
print("\n | > Checkpoint is saved : {}".format(checkpoint_path))
# Log spectrogram reconstruction
# Diagnostic visualizations
const_spec = linear_output[0].data.cpu()[None, :]
gt_spec = linear_spec_var[0].data.cpu()[None, :]
align_img = alignments[0].data.cpu().t()[None, :]
tb.add_image('Spec/Reconstruction', const_spec, current_step)
tb.add_image('Spec/GroundTruth', gt_spec, current_step)
tb.add_image('Attn/Alignment', align_img, current_step)
#lr_scheduler.step(loss.data[0])
tb.add_scalar('Time/EpochTime', epoch_time, epoch)