第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么 torch.lstsq 的輸出與 np.linalg.lstsq 截然不同?

為什么 torch.lstsq 的輸出與 np.linalg.lstsq 截然不同?

ABOUTYOU 2023-06-13 11:14:57
Pytorch 提供了一個(gè)lstsq函數(shù),但是它返回的結(jié)果與 numpy 的版本有很大的不同。這是一個(gè)示例輸入及其結(jié)果:import numpy as npimport torch a = torch.tensor([[1., 1, 1],                  [2, 3, 4],                  [3, 5, 2],                  [4, 2, 5],                  [5, 4, 3]])b = torch.tensor([[-10., -3],                  [ 12, 14],                  [ 14, 12],                  [ 16, 16],                  [ 18, 16]])a1 = a.clone().numpy()b1 = b.clone().numpy()x, r = torch.lstsq(b, a)x1, res, r1, s = np.linalg.lstsq(b1, a1)print(f'torch_x: {x}')print(f'torch_r: {r}\n')print(f'np_x: {x1}')print(f'np_res: {res}')print(f'np_r1(rank): {r1}')print(f'np_s: {s}')輸出:torch_x: tensor([[ 2.0000,  1.0000],        [ 1.0000,  1.0000],        [ 1.0000,  2.0000],        [10.9635,  4.8501],        [ 8.9332,  5.2418]])torch_r: tensor([[-7.4162, -6.7420, -6.7420],        [ 0.2376, -3.0896,  0.1471],        [ 0.3565,  0.5272,  3.0861],        [ 0.4753, -0.3952, -0.4312],        [ 0.5941, -0.1411,  0.2681]])np_x: [[-0.11452514 -0.10474861 -0.28631285] [ 0.35913807  0.33719075  0.54070234]]np_res: [ 5.4269753 10.197526   1.4185953]np_r1(rank): 2np_s: [43.057705  5.199417]我在這里錯(cuò)過(guò)了什么?
查看完整描述

1 回答

?
九州編程

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊

torch.lstq(a, b)求解minX L2∥bX?a∥ 同時(shí) np.linalg.lstsq(a, b)求解minX L2∥aX?b∥


所以改變傳遞參數(shù)的順序。


這是一個(gè)示例:


將 numpy 導(dǎo)入為 np 導(dǎo)入火炬


a = torch.tensor([[1., 1, 1],

? ? ? ? ? ? ? ? ? [2, 3, 4],

? ? ? ? ? ? ? ? ? [3, 5, 2],

? ? ? ? ? ? ? ? ? [4, 2, 5],

? ? ? ? ? ? ? ? ? [5, 4, 3]])


b = torch.tensor([[-10., -3],

? ? ? ? ? ? ? ? ? [ 12, 14],

? ? ? ? ? ? ? ? ? [ 14, 12],

? ? ? ? ? ? ? ? ? [ 16, 16],

? ? ? ? ? ? ? ? ? [ 18, 16]])


a1 = a.clone().numpy()

b1 = b.clone().numpy()


x, _ = torch.lstsq(a, b)


x1, res, r1, s = np.linalg.lstsq(b1, a1)


print(f'torch_x: {x[:b.shape[1]]}')


print(f'np_x: {x1}')

結(jié)果:


torch_x: tensor([[-0.1145, -0.1047, -0.2863],

? ? ? ? [ 0.3591,? 0.3372,? 0.5407]])

np_x: [[-0.11452514 -0.10474861 -0.28631285]

?[ 0.35913807? 0.33719075? 0.54070234]]

而且rank從 numpy.lianalg.lstsq 返回的是第一個(gè)參數(shù)的等級(jí)。要在 pytorch 使用函數(shù)中獲得排名torch.matrix_rank()。


查看完整回答
反對(duì) 回復(fù) 2023-06-13
  • 1 回答
  • 0 關(guān)注
  • 372 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)