desh2608 / dover-lap Goto Github PK
View Code? Open in Web Editor NEWPython package for combining diarization system outputs.
License: MIT License
Python package for combining diarization system outputs.
License: MIT License
Hi,
I made DOVERLap of two RTTMs and has found that the resulting RTTM differs significantly depending of the order of input RTTMs in the command line. Is it expected behaviour of bug? If it is expected, how can I control this process?
Best regards,
Maxim
Hello,
Thank you for this project, which has helped many people.
However, I have noticed a minor issue in its usage.
After installing dover-lap
with pip install dover-lap
, it overwrote my original spyder
installation, resulting in a change in the output format of my scores.
This has caused me some inconvenience.
Would it be possible to address this issue?
dover-lap --label-mapping hungarian egs/ami/rttm_dl_test egs/ami/rttm_test_*
, the following error message appears:dover-lap/dover_lap/src/mapping/hungarian.py", line 9, in <module> from dover_lap.libs.metrics import DER ModuleNotFoundError: No module named 'dover_lap.libs.metrics'
DER
was removed in a previous refactorIn its current form, DOVER-Lap does not elegantly handle the case when the input hypotheses are mixed-type. By "mixed type", we mean that some of them have overlapping segments and others do not. It seems the "label mapping" can still be used for this setting, since it uses "relative" overlaps (i.e. intersection-over-union) instead of absolute overlaps to compute speaker similarity. The problem would arise in "label voting", and this needs some new heuristics (or confidence measures) to estimate the actual number of speakers in any region.
Tested that it is working in numpy==1.23.5
. Installing numpy==1.24.0
breaks the label mapping step where the cost_tensor is calculated using numpy.sum()
NEP 34 might be helpful?
dover-lap out.rttm egs/ami/rttm_test_*
Loading speaker turns from input RTTMs...
Merging overlapping speaker turns...
Processing file EN2002a.Mix-Headset..
Traceback (most recent call last):
File "/home/corey/anaconda3/envs/omnicom_env/bin/dover-lap", line 33, in <module>
sys.exit(load_entry_point('dover-lap', 'console_scripts', 'dover-lap')())
File "/home/corey/anaconda3/envs/omnicom_env/lib/python3.8/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
File "/home/corey/anaconda3/envs/omnicom_env/lib/python3.8/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/media/data/dev/dover-lap/dover_lap/libs/utils.py", line 86, in invoke
super(CommandOptionRequiredClass, self).invoke(ctx)
File "/home/corey/anaconda3/envs/omnicom_env/lib/python3.8/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/corey/anaconda3/envs/omnicom_env/lib/python3.8/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/media/data/dev/dover-lap/dover_lap/dover_lap.py", line 164, in main
file_to_out_turns[file_id] = DOVERLap.combine_turns_list(
File "/media/data/dev/dover-lap/dover_lap/src/doverlap.py", line 26, in combine_turns_list
mapped_turns_list, weights = LabelMapping.get_mapped_turns_list(
File "/media/data/dev/dover-lap/dover_lap/src/label_mapping.py", line 31, in get_mapped_turns_list
label_mapping, weights = greedy_map.compute_mapping(turns_list)
File "/media/data/dev/dover-lap/dover_lap/src/mapping/greedy.py", line 25, in compute_mapping
cost_tensor, pairwise_costs = self.compute_cost_tensor(turns_list)
File "/media/data/dev/dover-lap/dover_lap/src/mapping/greedy.py", line 95, in compute_cost_tensor
cost_tensor = np.sum(list(pairwise_costs.values()))
File "<__array_function__ internals>", line 200, in sum
File "/home/corey/anaconda3/envs/omnicom_env/lib/python3.8/site-packages/numpy/core/fromnumeric.py", line 2324, in sum
return _wrapreduction(a, np.add, 'sum', axis, dtype, out, keepdims=keepdims,
File "/home/corey/anaconda3/envs/omnicom_env/lib/python3.8/site-packages/numpy/core/fromnumeric.py", line 86, in _wrapreduction
return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (3,) + inhomogeneous part.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.