问题描述
我正在读取两个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 (将#修改为@)