dsjscl 2020-02-11 10:57 采纳率: 0%
浏览 2540

python中'range' object has no attribute 'remove'错误。

图片说明
相关的代码:
图片说明

182-203行

def tensor_ttv(core, Ui_list, remove_k=None):
    '''
    Tensor times vector product (use sktensor library)
    -----------
    core = core tensor
    Ui_list = list of U_i to be multiplied
    remove_k = do not multiply in k-th mode
    return a scalar or np.array
    '''
    dt_core = sktensor.dtensor(core)
    assert (dt_core.ndim == len(Ui_list)), "tensor_ttv: core and U must be tha same dimension."
    #
    modes = range(len(Ui_list))
    if remove_k is not None:
        modes.remove(remove_k)
    #
    out_core = dt_core.ttv(tuple(Ui_list), modes)
    #
    if len(out_core) == 1:  # out_core is a scaler
        return (out_core[0])
    else:
        return (np.array(out_core))

137-141行

            for k in range(ndims):
                step = lr * reg * U[k][ind[k]].copy()
                step += lr * e_ijk * tensor_ttv(core, Ui_list, k)
                U[k][ind[k]] -= step
                Ui_list = [U[k][ind[k]] for k in range(ndims)]

294-304行

    core, U = TPTF(X, Xtest, dims, rank, args.reg, args.regS, args.lr, args.lrS, args.maxEpo)
    save_model(args, core, U)

    # Evaluation
    pred = pred(Xtest[0], core, U)
    rmse = RMSE(Xtest[1], pred)
    save_result(args, rmse)

    end_time = time.time()
    logger.info('RMSE: {:.4f}'.format(rmse))
    logger.info('Total Time: {:.1f}s'.format(end_time - start_time))

请问一下这个问题应该怎么解决?

  • 写回答

3条回答 默认 最新

  • Dee_exe 2022-07-13 21:52
    关注

    在range(x,y)外面套一个list()
    成这样list_1=list(range(x,y))

    评论

报告相同问题?

悬赏问题

  • ¥30 win c++ socket
  • ¥15 CanMv K210开发板实现功能
  • ¥15 C# datagridview 栏位进度
  • ¥15 vue3页面el-table页面数据过多
  • ¥100 vue3中融入gRPC-web
  • ¥15 kali环境运行volatility分析android内存文件,缺profile
  • ¥15 写uniapp时遇到的问题
  • ¥15 vs 2008 安装遇到问题
  • ¥15 matlab有限元法求解梁带有若干弹簧质量系统的固有频率
  • ¥15 找一个网络防御专家,外包的