Open Sunlightshadow opened 3 months ago
Hi, thanks for your report and testing.
I think the main error from which everything else followed was probably this: Cannot convert values for the option: log
In the directory of the model that is being fine-tuned (you can access it with the Open model button) there is a file called batch.yml that contains the config for batch translation with Marian (edit: the batch.yml file is in the base model directory). That file has a value log, which should contain the path to a log file that is written when batch translating. That value is corrupt for some reason. Does your user name contain spaces by any chance, that's a common reason for path problems?
If you got it working with the test version, I must have fixed the log problem at some point, but the library problem might still occur. I'll release a new version shortly, with some bug fixes, that might solve the problem.
I've now release a new version of the cross-platform MT engine: https://github.com/Helsinki-NLP/OPUS-CAT/releases/tag/engine_v1.3.1beta
I'd be interested in knowing if you encounter any of the above problems with this version. I've tested that the Linux version works with both WSL in Windows (on two separate machines), and also on a fresh Ubuntu virtual machine. However, there still might be system-specific problems.
Greetings :)
Does your user name contain spaces by any chance, that's a common reason for path problems?
I don't think so. It's suni so it should be no problem from there. When I fine-tuned I had the following error once but was able to restart it. Here is the part from the model log:
[2024-08-25 09:32:51] Ep. 1 : Up. 400 : Sen. 12,297 : Cost 1.27919793 4,907 after 185,532 : Time 6.48s : 756.87 words/s [2024-08-25 09:32:59] Translating validation set... [2024-08-25 09:32:59] Error: Segmentation fault [2024-08-25 09:32:59] Error: Aborted from setErrorHandlers()::<lambda(int, siginfo_t, void*)> in /home/user/marian-dev/src/common/logging.cpp:134 [2024-08-25 09:33:28] [marian] Marian v1.9.56 2be8344f 2023-12-19 18:39:32 +0000 [2024-08-25 09:33:28] [marian] Running on suni-pc as process 160797 with command line: [2024-08-25 09:33:28] [marian] Marian/marian --config /home/suni/.local/share/opuscat/models/eng-deu/opus-2021-02-22_eso/customize.yml --log-level=info [2024-08-25 09:33:28] [config] after: 0e [2024-08-25 09:33:28] [config] after-batches: 0 [2024-08-25 09:33:28] [config] after-epochs: 1 [2024-08-25 09:33:28] [config] all-caps-every: 0
I also found some issues running the gui. When I press the button "Open model directory" or any other button that should open my file browser the program crashes because it expects gnome file manager nautilus which I haven't installed because I use KDE Plasma which uses dolphin as file manager.
Unhandled exception. System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'nautilus' with working directory '/home/suni/Programme/Opus-CatTest'. No such file or directory at System.Diagnostics.Process.ForkAndExecProcess(ProcessStartInfo startInfo, String resolvedFilename, String[] argv, String[] envp, String cwd, Boolean setCredentials, UInt32 userId, UInt32 groupId, UInt32[] groups, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean usesTerminal, Boolean throwOnNoExec) at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start(ProcessStartInfo startInfo) at OpusCatMtEngine.LocalModelListView.btnOpenModelDir_Click(Object sender, RoutedEventArgs se) in D:\Users\niemi\source\repos\OPUS-CAT\AvaloniaApplication1\UI\LocalModelListView.axaml.cs:line 39 at Avalonia.Interactivity.EventRoute.RaiseEventImpl(RoutedEventArgs e) at Avalonia.Interactivity.Interactive.RaiseEvent(RoutedEventArgs e) at Avalonia.Controls.Button.OnClick() at Avalonia.Controls.Button.OnPointerReleased(PointerReleasedEventArgs e) at Avalonia.Reactive.LightweightObservableBase
1.PublishNext(T value) at Avalonia.Interactivity.EventRoute.RaiseEventImpl(RoutedEventArgs e) at Avalonia.Interactivity.Interactive.RaiseEvent(RoutedEventArgs e) at Avalonia.Input.MouseDevice.MouseUp(IMouseDevice device, UInt64 timestamp, IInputRoot root, Point p, PointerPointProperties props, KeyModifiers inputModifiers, IInputElement hitTest) at Avalonia.Input.MouseDevice.ProcessRawEvent(RawPointerEventArgs e) at Avalonia.Threading.Dispatcher.Send(SendOrPostCallback action, Object arg, Nullable
1 priority) at Avalonia.Controls.TopLevel.HandleInput(RawInputEventArgs e) at Avalonia.ManualRawEventGrouperDispatchQueue.DispatchNext() at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken) at Avalonia.Threading.DispatcherFrame.Run(IControlledDispatcherImpl impl) at Avalonia.Threading.Dispatcher.PushFrame(DispatcherFrame frame) at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(AppBuilder builder, String[] args, Action`1 lifetimeBuilder) at OpusCatMtEngine.Program.Main(String[] args) in D:\Users\niemi\source\repos\OPUS-CAT\AvaloniaApplication1\Program.cs:line 12
I will download the new release and test it an fine tune again and see what I will find.
Edit:
Hi, the fine tuning of the model went perfectly. This time I had no errors and also the machine translations of the model are much better than the other test version. Good work. However, the problem with the file manager still exists. The text file in the settings is opened without any problems.
Thank you very much for your work! Sag Let me know if you want me to test anything else for you in linux, I'll let you know if there are any problems.
Edit 2: I noticed a strange behaviour of the models when translating. If I prefer a model in the priority, I can call it up once or twice, then the checkmark disappears from the checkbox. Opus-Cat only uses the other model which I have downloaded. Now that I have deleted the downloaded model, the other model is accepted without any problems.
Hi and first of all I am gradeful for publishing a Linux version of Opus-Cat ❤️. I am using version 1.3.0.0 of Opus-Cat on Fedora 40. I can download and use models with Opus-Cat. However, I am not able to do the fine tuning. According to the log, there seems to be a wrong specification for the path of Marian. It tries to access /home/user/marian-dev/src/common/cli_wrapper.cpp:208, but the location does not exist. In addition, the app cannot access a specific library although I have set the permissions.
Here is the log:
I am happy to help you test the program. Thank you very much 🙏!
Edit:
I was able to fix the python permission error. In OpusCatMtEngine.sh you have to change
LD_LIBRARY_PATH=$LD_LIBRARY_PATH./python3-linux-3.8.13-x86_64/lib/
toLD_LIBRARY_PATH=$LD_LIBRARY_PATH:./python3-linux-3.8.13-x86_64/lib/
But the Marian-related bugs still persists:Edit 2: I am able to fine tune a model when using the "Test!Do not use verison! from the releases page, with my change from above in OpusCatMtEngine.sh! :)