Need help for training

I'm pretraining your model on the vivo dataset (Vietnamese) but the results are not what I expected.
Here is the original audio:
https://drive.google.com/file/d/12mZdg8yVhgQj35Vt3thoxIK44_jWWaCJ/view?usp=sharing
and here is the result:
https://drive.google.com/file/d/1UOuUHrxiR5DvF1MrpccMZ6bdwKyfO2AE/view?usp=sharing
This is the loss during training stage 1 and stage 2

p/s: I used the ASR of the original article to train Vietnamese. I wonder if it has any problems because during the training stage 1 there were quite a lot of keyerror errors.
Thank you very much

I believe the problem lies in the duration loss, it somehow fluctuates between 1 and 0.6. I think the text aligner is probably fine. Could you check if the first stage of the model sounds good?

Can you provide code to test stage 1? and I have another question, while preprocessing data i use phonemizer to convert text in data to IPA, but all of most IPA which was create by phonemes, aren't exist in your code,
so during training i get this status and it print text line which mismatch and loss still working but i wonder how it do that

and is raise keyerror in this code is effect to train ?

Thank all your reply, hope you have a good day

You can use the following code for testing (under the inference notebook) from the validation loss computation code:
from meldataset import build_dataloader
train_path = config.get('train_data', None)
val_path = config.get('val_data', None)
train_list, val_list = get_data_path_list(train_path, val_path)
train_dataloader = build_dataloader(train_list,
                                    batch_size=batch_size,
                                    num_workers=8,
                                    dataset_config={},
                                    device=device)

val_dataloader = build_dataloader(val_list,
                                  batch_size=batch_size,
                                  validation=True,
                                  num_workers=2,
                                  device=device,
                                  dataset_config={})

_, batch = next(enumerate(train_dataloader)) # can also be val_dataloader
batch = [b.to(device) for b in batch]
texts, input_lengths, mels, mel_input_length = batch

with torch.no_grad():
                    mask = length_to_mask(mel_input_length // (2 ** model.text_aligner.n_down)).to('cuda')
                    m = length_to_mask(input_lengths)
                    ppgs, s2s_pred, s2s_attn_feat = model.text_aligner(mels, mask, texts)

                    s2s_attn_feat = s2s_attn_feat.transpose(-1, -2)
                    s2s_attn_feat = s2s_attn_feat[..., 1:]
                    s2s_attn_feat = s2s_attn_feat.transpose(-1, -2)

                    with torch.no_grad():
                        text_mask = length_to_mask(input_lengths).to(texts.device)
                        attn_mask = (~mask).unsqueeze(-1).expand(mask.shape[0], mask.shape[1], text_mask.shape[-1]).float().transpose(-1, -2)
                        attn_mask = attn_mask.float() * (~text_mask).unsqueeze(-1).expand(text_mask.shape[0], text_mask.shape[1], mask.shape[-1]).float()
                        attn_mask = (attn_mask < 1)

                    s2s_attn_feat.masked_fill_(attn_mask, -float("inf"))

                    if TMA_CEloss:
                        s2s_attn = F.softmax(s2s_attn_feat, dim=1) # along the mel dimension
                    else:
                        s2s_attn = F.softmax(s2s_attn_feat, dim=-1) # along the text dimension

                    # get monotonic version
                    with torch.no_grad():
                        mask_ST = mask_from_lens(s2s_attn, input_lengths, mel_input_length // (2 ** model.text_aligner.n_down))
                        s2s_attn_mono = maximum_path(s2s_attn, mask_ST)

                    s2s_attn = torch.nan_to_num(s2s_attn)

                # encode
                t_en = model.text_encoder(texts, input_lengths, m)
                asr = (t_en @ s2s_attn_mono)

                # get clips
                mel_len = int(mel_input_length.min().item() / 2 - 1)
                en = []
                gt = []
                for bib in range(len(mel_input_length)):
                    mel_length = int(mel_input_length[bib].item() / 2)

                    random_start = np.random.randint(0, mel_length - mel_len)
                    en.append(asr[bib, :, random_start:random_start+mel_len])
                    gt.append(mels[bib, :, (random_start * 2):((random_start+mel_len) * 2)])
                en = torch.stack(en)
                gt = torch.stack(gt).detach()

                with torch.no_grad():
                    F0_real, _, F0 = model.pitch_extractor(gt.unsqueeze(1))
                    F0 = F0.reshape(F0.shape[0], F0.shape[1] * 2, F0.shape[2], 1).squeeze()

                # reconstruct
                s = model.style_encoder(gt.unsqueeze(1))
                real_norm = log_norm(gt.unsqueeze(1)).squeeze(1)
                mel_rec = model.decoder(en, F0_real, real_norm, s)
                mel_rec = mel_rec[..., :gt.shape[-1]]

synthesized = []
for idx in range(mel_rec.size(0)):
                with torch.no_grad():
                                # synthesize into waveforms
                                c = mel_rec[idx].squeeze()
                                y_g_hat = generator(c.unsqueeze(0))
                                y_out = y_g_hat.squeeze().cpu().numpy()
                synthesized.append(y_out)

import IPython.display as ipd
for wave in synthesized:
    display(ipd.Audio(wave, rate=24000))

As for the IPA error, it seems like only a few characters are not in the dictionary and they are automatically ignored by the text cleaner. You can do print(char) instead of print(index) to see which specific character.

So does the IPA error affect training?
If yes, do I need to retrain with the more extensive IPA set through text-aligner?
Thank for your reply

@christopherohit If these characters are not essential for reconstruction then it doesn’t matter, because the text aligner is eventually finetuned with your new dataset and unseen characters of pretrained models will be learned during TMA training. But if these characters are important for reconstruction (like pauses, breaths, laughs etc.) then you need to retrain.


Fix egui_glow when targeting wasm32-unknown-unknown

This fixes compilation failures when targeting wasm32-unknown-unknown with eframe when the egui_glow or persistence feature flags are enabled. This adds a CI check to prevent this in the future.
See the puffin action failure

This compilation failure seems to only arise when using cargo resolver v1 in my experience. If this issue matches the one in #1307, merging this will close #1307

Thanks!


add footnotes option

it would be great to have the option to pull the content from the footnotes, instead of an attribute
you can find the specific changes in the code that would make this possible in the next commit https://github.com/matallo/vietcongada/commit/6f0320a3ef5aaf23aa87421e77dfd1551ec08a7b

Please add a footnotes option. This is awesome.


DHT22 driver on Rpi3

Home Assistant release: 0.33.3
Python release: 3.5.2
Component/platform: DHT22
HW: Raspberry Pi 3
OS: Fedora 25
Description of problem:
Adafruit_Python_DHT driver 1.3.0. doesn't compile on Raspberry Pi3. Python code expects older Rpi models or Beaglebone Black.
https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code
I am not sure what could be the best solution:

clone the original driver repository, update the code?
use another driver with pigpio (https://www.raspberrypi.org/forums/viewtopic.php?f=37&t=71336&start=75)?

Michal

@michalsladek Is this still an issue? I am using dht on a Rpi3 without problems (I occasional wrong readings, but it might be my sensor, and I had no problem installing the dependencies on the first run with the dht platform enabled).

I think there are 2 isssues:

OS dependency: DHT22 driver requires gpiomem module, which is not available under Fedora 25<EMAIL_ADDRESS>automatic driver install on Rpi3 with Raspbian (Did it work for you? I haven't tested it.)

Luckily DHT22 module is obsoleted by AM2320 (I2C bus).
Michal


web:feat:Login

partial issue: #16
Does not include Nano ID check or user coming from email link

add in all dependencies for firebase auth and update nuxt config
initial homepage with BCSC login functionality
add logout option to header menu
add i18n translations
update env sample
cleanup unnecessary files
create string parser util to handle special character names

/gcbrun


Upgrade strategy: How do I upgrade generated project?

I've updated generator it self and would like to update project. Is there a way to do it?
Assuming I have source control and OK to rollback is something goes south.

If I understand you correctlt, feel free to fork this repos, make the necessary updates and send a pull request @skfd.


kubernetes cluster creation

Failing in terraform newest version

Done
Details - https://github.com/airavata-courses/HogwartsRejects/wiki/Setting-up-your-kubernetes-cluster

With the terraform newer version I am having problems with integration and currently, I am in contact with the developer please follow this thread for continued information. This is the issue of terraform and not this project.
Link - https://github.com/terraform-providers/terraform-provider-openstack/issues/938


tool for gathering system logs and configuration information

we need a tool that users can run to collect logs and other system configuration information to help us debug problems

Thank you @cjellick ! I was just going to ask about that. Yesterday I noticed this:
[INFO]  systemd: Starting k3s-agent
Logs: which: no kubectl in (/home/fedora/.local/bin:/home/fedora/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin)
which: no crictl in (/home/fedora/.local/bin:/home/fedora/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin)
which: no ctr in (/home/fedora/.local/bin:/home/fedora/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin)
Created symlink /etc/systemd/system/multi-user.target.wants/k3s-agent.service → /etc/systemd/system/k3s-agent.service.

it looks to me like this may be a mixture of log INFO content and std.err content?
So I was going to investigate what was available in terms of observability and how to turn it on.
Disclosure: I'm new to golang but I have a great interest in logging and some resources that I might be able to contribute towards this problem. Feel free to DM me if you prefer.

I wonder if this would help https://github.com/rancher/k3s/issues/928 ?

We have https://github.com/k3s-io/k3s/blob/master/contrib/util/fetch-diags.sh from https://github.com/k3s-io/k3s/pull/2526 but we don't really make use of it ever. I think we can close this out, and follow up with a docs issue or modification to the bug report issue template if we want to make better use of it.


Override toString(), hashCode() and equals() methods in ObserveCompositeRequest

Added toString, hashCode and equals to ObserveCompositeRequest

Fixed toString(), should be good to merge

On so small PR/changes, do  not hesitate squash all you commit in one.

Integrated in master (commit ecc113c4351fc351b9d300030e24b9c801be2737)


Add snapshot tests for bottom banner

MOB-3718
What was solved?
Add bottom banner snapshot tests and update bottom banner and send message unavailable banner to take safe are guide into account.
Release notes:

[ ] Feature
[x] Ignore
[ ] Release notes (Is it clear from the description here?)
[ ] Migration guide (If changes are needed for integrator already using the SDK - what needs to be communicated? Add underneath please)

Additional info:

[ ] Is the feature sufficiently tested? All tests fixed? Necessary unit, acceptance, snapshots added? Check that at least new public classes & methods are covered with unit tests
[ ] Did you add logging beneficial for troubleshooting of customer issues?
[ ] Did you add new logging? We would like the logging between platforms to be similar. Refer to Logging from iOS SDKs → Things to consider for newly added logs in Confluence for more information.

Screenshots:

!squash


Tear down the GL context when going to background

Flutter holds on to the GL surface and context when going to the background.
This is disadvantageous for add-to-app scenarios where e.g. a fragment is shown briefly and then not shown again for a long time.

What resources are we holding onto that can be safely deleted in this situation?
NotifyDestroyed will call eglDestroySurface for the on-screen surface.  However, the EGL context used for on-screen rendering is part of a share group with the EGL context used by the IO thread.  The resources shared between these contexts will remain active as long as the engine is alive.
The lifecycle of the Skia GrDirectContext is complex due to support for groups of engines that share the same GrDirectContext.  Dropping the PlatformViewAndroid's reference to its AndroidContext at NotifyDestroyed time will be unsafe.
Is the GrDirectContext holding onto anything that is unnecessary but is not already being freed when the engine calls the GrDirectContext purging APIs?

Ahhh ok. That makes sense.
What @xster reported is that even pumping some empty scene and clearing the image cache (and flutter_svg's cache) to try to flush the UI after going to background was retaining graphics memory.

Correct. Let me know if there's more debugging data I can get besides meminfo. Clearing the widget tree definitely had the biggest impact. But this patch also cleared some additional graphics memory.

As I think about this more, I think we want something less destructive - it'd sitll help if we could get a heap snapshot after the UI goes away to see if there are any graphics retaining Dart objects around (e.g. Picture, Image, Paragraph).

I can't remember if we had a discussion offline about this before or after the last comment. But a heap dump after looks like this:

There are no remaining graphics element afaict

Traige: Per Dan, closing this as stale.


PersistentCollection ignore orderBy on matching($criteria)

doctrine/orm: 2.5.6
The PersistentCollection::matching() method does not take the ordering of a Criteria in account. For an ArrayCollection is works fine.
Reproduce:
I have two Entities
class Product {

    /**
     * @var FilterAttribute[]|ArrayCollection
     * @ORM\ManyToMany(targetEntity="FilterAttribute")
     * @ORM\JoinTable(name="product_filter_attribute",
     *      joinColumns={@ORM\JoinColumn(name="product_uuid", referencedColumnName="uuid")},
     *      inverseJoinColumns={@ORM\JoinColumn(name="filter_attribute_uuid", referencedColumnName="uuid")}
     *      )
     */
    private $filterAttributes;

    ...
}

class FilterAttribute {

        /**
     * @var int
     * @ORM\Column(type="smallint", options={"comment":"The position within the filter list"})
     */
    private $position;

    ...

}

And I have a method to get the filterAttributes as an ordered List in the Product Entity:
    /**
      * Return the FilterAttributes sorted by sorting order
      *
      * @return ArrayCollection|FilterAttribute[]
      */
     public function getFilterAttributesSorted()
     {
         $criteria = Criteria::create()
             ->orderBy(['position' => Criteria::ASC]);

         return $this->filterAttributes->matching($criteria);
     }

The Product Entity is loaded from the Database. So the Collection is a PersistentCollection with a ManyToManyPersister.
Expected Behavior: The returned list is ordered by the position field.
Current Behavior: The returned list is unordered.
Current Workaround:
    /**
      * Return the FilterAttributes sorted by sorting order
      *
      * @return ArrayCollection|FilterAttribute[]
      */
     public function getFilterAttributesSorted()
     {
         $criteria = Criteria::create()
             ->orderBy(['position' => Criteria::ASC]);

         $arrayCollection = $this->filterAttributes->matching($criteria);
         return $arrayCollection->matching($criteria);
     }

@sven-communitales could you please send us a PR with a functional test that reproduces this behaviour? Sending just an example doesn't give us the complete overview of things and why it fails. You can find examples on https://github.com/doctrine/doctrine2/tree/971c40002522cfebe58d80aff21eef9fe439fa60/tests/Doctrine/Tests/ORM/Functional


authorized_keys: Add myself, daurnimator.

done! you shuold be able to login to chur with ssh -p 2020<EMAIL_ADDRESS>and create yourself an account.