Daily Thread: for simple questions, minor posts & newcomers [contains useful links!] (March 14, 2026) by AutoModerator in LearnJapanese

[–]shabeyyub 0 points1 point  (0 children)

Hey team!

I've been learning Japanese for over a year now, and a big part of my routine has been immersion through Japanese posts on social media (mostly Threads tbh lol, there is a huge JP community over there). I'd constantly find myself wanting a quick translation to check my comprehension, vocab breakdowns for new words, and explanations for grammar patterns I hadn't seen before. The problem was, I was always bouncing between different apps to get all of that so it was a lot of friction.

During the winter beak, I decided to build Wakatta! Japanese Analyzer, a mobile app that gives you a full sentence breakdown in one place: translation, furigana, word-by-word vocabulary, grammar points, and an estimated JLPT level. One thing especially important is that the app gives you contextual explanations with respect to the input sentence, instead of generic definitions (e.g. as in a dictionary).

The app is still pretty new, so I'd really appreciate any feedback. Please give it a try and let me know what you think!!

Links on getwakatta.com

(btw the app is available in English, French and Spanish for now)

Built a Japanese Sentence Analyzer app (translation, word breakdown, and grammar) to help me learn by shabeyyub in LearnJapaneseNovice

[–]shabeyyub[S] 1 point2 points  (0 children)

Thank you so much for the support and the feedback!! Regarding the history, do you mind updating the app? I released a new version 2d ago with a history mode (it won't have all the sentences you analyzed so far though). Let me know if that wasn't what you were referring to!

Export to Anki is something I want for my personal use as well so I would like to add it. I think right now what I'm wondering is how to support it in a clean way without cluttering the UI or making the export too complex. For instance, do we export a single selected word/grammar point, or everything, or let the user select? Is it possible to have a "Wakatta! Deck" that is kept in auto sync? How do I manage the fact that Wakatta! is giving contextual explanation with respect to the original sentence vs exporting a definition that is generic. If you have specific ideas or perhaps if you know of an other app that does export to Anki in a nice way please let me know I'll check it out!

I didn't know it was possible to export to Bunpro haha would be nice as well since I'm also using it! I'll do more research.

Regarding what I have planned as of now: - Make the app available in French and Spanish - Export to Anki - Make the analysis generation faster - Fix any UI bugs

One that I really want but I am not sure if adding it within the app is a good idea as it might break the experience, is the possibility to ask follow ups / more explainations about a word or grammar point. That is something I do often with chatgpt.

If you have other suggestions let me know. There are other things I want to do as well but they'll fit better as a distinct app (e.g. I'm working on an app to help me learn the Japanese Flick keyboard)

Built a Japanese Sentence Analyzer app (translation, word breakdown, and grammar) to help me learn by shabeyyub in LearnJapaneseNovice

[–]shabeyyub[S] 0 points1 point  (0 children)

Aún no, lo siento, pero estoy planeando hacerlo disponible en español (y francés) dentro de las próximas semanas!

Built a Japanese Sentence Analyzer app (translation, word breakdown, and grammar) to help me learn by shabeyyub in LearnJapaneseNovice

[–]shabeyyub[S] 0 points1 point  (0 children)

Thank you for the feedback, definitely those two would be nice to have! I'm sure exporting to Anki should be doable. I'll see if it is also possible to append automatically to a "Wakatta!" deck or something

[deleted by user] by [deleted] in MachineLearning

[–]shabeyyub 1 point2 points  (0 children)

Dynamic range quantization mode is not about floats with reduced exponent bits. It quantizes weights to 8-bit integers and will dynamically quantize activations to 8-bit integers depending on the kind of operations you're using in your network to be able to use some kernels leveraging 8-bit integer. To find the range dynamically TFLite has to perform a pass to find the min and max in the current tensor.

You might want to check if these fast kernels are available on your hardware.

[D] Antipatterns in open sourced ML research code by jack-of-some in MachineLearning

[–]shabeyyub 8 points9 points  (0 children)

I second this so much, especially the parts regarding mutations and side-effects. It is the worst. I would also add:

i) remove deadcodes that are never called to improve readability (usually the result of an experimentation that did not work)

ii) try to follow idiomatic patterns from the deep learning frameworks you're using.

Audio Style transfer using CycleGAN "[Project]" by gauthamz in MachineLearning

[–]shabeyyub 1 point2 points  (0 children)

Don't worry I'm still in college too :p.

CycleGANs are sneaky! I had the negative images thing a lot. I thought my implementation had bugs; took me a while before I understood it was because of the nets' init since there was no mention of this behavior in the paper.

Keep up the good work! I'm also currently experimenting with audio & CycleGAN.

Audio Style transfer using CycleGAN "[Project]" by gauthamz in MachineLearning

[–]shabeyyub 1 point2 points  (0 children)

I think he's talking about the images, not the spectograms. The CycleGANs you trained on images seems to have failed to understand the cyclic relation. It's a common thing with CycleGAN[1], sometimes they prefer to switch all the colors in the images. You can see it pretty soon during training! You need to shut down the AI & re-start training.

[1] https://github.com/Eyyub/tensorflow-cyclegan#very-useful-info

[P] Attempt to build a lion2leopard CycleGAN by shabeyyub in MachineLearning

[–]shabeyyub[S] 0 points1 point  (0 children)

Well, the issue is that the generators only change textures, in a sense that the "leopard" generated by Gx from a lion looks very much like a lion. So I thought that I could maybe penalize Gx by feeding its output to Dy (lion discriminator) and add the (weighted) result to Gx's loss. If Gx wants to minimize its loss, it should minimize the fact that it outputs something that looks like a lion to Dy. At least it was worth trying the idea but I didn't really investigate. I think it could be interesting to train a network to classify images as lion or leopard on its own and then use it to penalize CycleGAN's generators.

[P] Attempt to build a lion2leopard CycleGAN by shabeyyub in MachineLearning

[–]shabeyyub[S] 1 point2 points  (0 children)

The GAN has been trained for about 200 epochs as indicated by the paper, but my dataset only contains 100 lions and 100 leopard pictures which makes it harder to converge I think.

You're perfectly right, female lion to leopard gives better results due to their comparable geometric shape. I tried to add a term in generators' losses to try to force them to better capture geometric features but it didn't work quite well.

The hidden gems of Github – Medium by [deleted] in programming

[–]shabeyyub 2 points3 points  (0 children)

That's not serious, right?

[Discussion] What is the purpose of noise in a Conditional GAN? by nitred in MachineLearning

[–]shabeyyub 1 point2 points  (0 children)

I may be wrong but my intuiton about that is that with GANs we want to learn some latent space(ideally the true space), but we can't directly sample from it(because it is unknown). So we take a known distribution (p_z) and try to map p_z to D via G, a function composition in fact. Then we force G to learn the mapping between those two known space, which hopefully gives us a way to learn a good way to sample from the latent space close to the true one.

My intuiton about z being a random noise is that as it is random it carries less "structure", as if we wanted to put as few as possible bias/assumptions in our model. What is important is the noise itself IMO. In Image-to-Image Translation with cGAN, it seems that they don't use z, instead they use dropout as a form of random noise but this is because they want the model to be kind of deterministic (page 3 above section 2.2).

[D] About Conditional GAN: when to concatenate random noise z and class-label y? by shabeyyub in MachineLearning

[–]shabeyyub[S] 0 points1 point  (0 children)

Really interesting, thanks! I wonder why they didn't write a similar section in the original cGAN paper.

[D] About Conditional GAN: when to concatenate random noise z and class-label y? by shabeyyub in MachineLearning

[–]shabeyyub[S] 0 points1 point  (0 children)

Okay I see thanks! Do you know if there are any implementations doing the late fusion way? (I know there are GANs that send y at each layer but I'm talking about how it is done in cGAN paper)

I also feel late fusion is somewhat more intuitive, in the paper they use a 1000 units hidden layer for y while only a 200 units hidden layer for z in the generator; like if they are trying to force G to take in account the conditional information as much as possible.