Mozer / talk-llama-fast

Port of OpenAI's Whisper model in C/C++ with xtts and wav2lip

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Please learn how to use Git

dmikushin opened this issue · comments

Dear @Mozer ,

You work is valuable, important and greatly appreciated! I just don't want your work to be misrepresented due to really bad repository management practice here. Git is not a file server to upload the source files. The important part of repository purpose is the history of changes. By not giving others a chance to understand your changes into the original llama.cpp, you increase the community effort to review and improve your project. If you are interested in this feature of Git, please do not hesitate asking how to use it, it's my pleasure to help!

Do you mean that I can't simply upload a cpp file to GitHub using browser? it is bad? I think that GitHub is smart and will make needed changes in a nice way.

There is a diff between your new upload and the previous state, but it is not smart at all yet.

  1. First of all, a common preference of opensource projects is that each change is limited in its scope. In other words, it's usually not looking good to make random changes across the file and commit them all at once. Many projects ask to split it into "optimized function f1" and "deleted function f2" individual commits, which are easy to review by humans.

  2. Second, you seem to be unsure which version you are basing your fork on. I've followed your note about Feb 22 2024 fork origin, but apparently it is not. I have few things still dangling around, like:

src/llama.cpp:4738:14: error: no matching function for call to 'ggml_soft_max_ext'
 4738 |         kq = ggml_soft_max_ext(ctx, kq, kq_mask, kq_scale);
      |              ^~~~~~~~~~~~~~~~~
include/ggml.h:1394:35: note: candidate function not viable: requires 6 arguments, but 4 were provided

and

src/llama.cpp:11005:9: error: no matching function for call to 'ggml_numa_init'
 11005 |         ggml_numa_init();

I will try another commit as a base, as you mentioned in #12 . But as you can see it's difficult to follow, because the repository inheritance is unclear.

  1. Lastly, please take a note of the line endings. Git client for Windows configures the line endings, so that your commits do not push line endings as a change. But looks like the "GitHub upload" feature ignores this aspect, and all of your commits change line endings to Windows. This change is so broad that it's hard to see the meaningful changes behind the new line endings everywhere.

Not my personal taste at all, this is just the most common preference. I hope it helps 👍

I can tell you exact commit I forked. I think this info is saved somewhere on disk, I have to find it. Will take a look a bit later.

C:\DATA\TTS\whisper.cpp>git log --pretty=fuller
commit f6492c0d48da143e0acd38f1d4f325317a715968 (HEAD -> master, origin/master)
Author:     unknown <xxx@gmail.com>
AuthorDate: Sat Apr 13 22:21:52 2024 +0300
Commit:     unknown <xxx@gmail.com>
CommitDate: Sat Apr 13 22:21:52 2024 +0300

    Add existing file

commit 3d4246384525824b1dc6efc86f86003c8c615295
Author:     Georgi Gerganov <ggerganov@gmail.com>
AuthorDate: Tue Feb 13 11:51:32 2024 +0200
Commit:     Georgi Gerganov <ggerganov@gmail.com>
CommitDate: Tue Feb 13 11:51:32 2024 +0200

    models : add update py requirements

I think that's the commit that i forked 3d4246384525824b1dc6efc86f86003c8c615295 from Feb 13

I don't see any line endling problems in github interface:
f6492c0#diff-a0e0b3c430b6720a94eda7c84883139e65a68b0074269e6a61ce372f73ed9863

I don't see any line endling problems in github interface: f6492c0#diff-a0e0b3c430b6720a94eda7c84883139e65a68b0074269e6a61ce372f73ed9863

You force-pushed something else, now even with the binary and temporary files.

do i have to tune .gitignore? why default gitignore from gerganov doesn't have needed filters?

I don't know what others do, but I usually use git diff, git add and git commit -a in terminal to review the things that I'm going to commit. I'm not using .gitignore at all. Usually, git commit -a is good enough to automatically commit the updates to existing files, and to see what new files must be added with git add.

I think that's the commit that i forked 3d4246384525824b1dc6efc86f86003c8c615295 from Feb 13

This one is a lot better, thank you! I'm able to see your clean changeset now. I will push it later today for your review.

OK, I'm now able to represent your changeset as one clean and simple commit : dmikushin@2d30ac0 👍 Please feel free to take commits out of this repo, if you wish. I've simply added your work, and then removed all unrelated bloatware present in the original repository.

Therefore closing this as resolved, but please do not hesitate to ask me anything.