在Pyannote-Metrics中读取RTTM文件后进行手动注释

问题描述

我正在读取两个RTTM文件一个是参考,另一个是音频二值化之后的假设。文档(https://pyannote.github.io/pyannote-metrics/basics.html#evaluation-map显示了手动注释,其中开发人员必须在其中写入程序中的所有数据,但我想从RTTM文件中读取数据。如果我们遵循文档并使用下面给出的代码

4
5
6

它将数据存储到参考和假设两个变量中。当我将自己的数据用作细分中的输入时,如下所示。

public void UpdateOperation(Route route,IEnumerable<RouteClient> routePoints)
{
            Params = null;
            using var connection = Ctx.GetDbConn();
            var transactionScope = connection.BeginTransaction();
            string sql;

            try
            {
                Params = new List<IParam>
                    {
                        Ctx.addParam("@DriverId",route.DriverId,DbType.Int64),Ctx.addParam("@RouteId",route.RouteId,Ctx.addParam("@Routedistance",route.Routedistance,DbType.Decimal)
                    };
                sql = $"UPDATE {RouteTable} SET DriverId=@DriverId,Routedistance=@Routedistance " +
                      $"WHERE RouteId=@RouteId";
                Ctx.Update(sql,CommandType.Text,Params.ToArray(),transactionScope);

                RemoveItems(route.RouteId,transactionScope);
                AddItems(route.RouteId,routePoints,transactionScope);

                transactionScope.Commit();
            }
            catch (Exception e)
            {
                transactionScope.Rollback();
                throw;
            }
}

public void AddItems(int routeId,IEnumerable<RouteClient> routePoints,IDbTransaction transaction = null)
{
     Params = null;

     foreach (var item in routePoints)
     {
         Params = new List<IParam>
         {
             Ctx.addParam("@RouteId",routeId,DbType.Int32),Ctx.addParam("@ClientId",item.ClientId,DbType.Int32)
         };

          Ctx.Insert($"INSERT INTO {RouteClientsTable} (RouteId,ClientId) " +
          $"VALUES (@RouteId,@ClientId); SELECT ScopE_IDENTITY()",transaction);
        }
}

它仅存储RTTM文件中的第一行数据。我认为Segment函数中存在一个问题,因为它仅存储第一个值。我想将res_start,res_end和res_lab中存在的所有值存储到假设中。提货的过程相同。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...