記錄在使用sklearn中趟過的雷

2021-10-07 21:03:05 字數 1839 閱讀 1380

使用sklearn是為了讀取自製資料集中使用一些預處理操作,雖然pytorch的包中含有一些預處理操作,但並不全因此使用到了sklearn。此處記錄一下在使用sklearn使用中趟的雷。

maxabsscaler是將資料歸一化到[-1,1],然而在此處使用中需要注意的是max操作不能針對二維以上的矩陣,若是需要對三維矩陣進行的話,需要將三維矩陣安排為二維矩陣,自己使用的方法為:

echo_trans = echo.reshape(echo.shape[0]

,-1)

echo_trans = t.maxabsscaler(

).fit_transform(echo_trans)

# 對回波進行歸一化

echo_trans = t.scale(echo_trans)

# 進行中心置零

echo = echo_trans.reshape(echo.shape[0]

,echo.shape[1]

,echo.shape[2]

)

在此處由於我需要其輸出矩陣重新為三維,因此我需要重新reshape

此處使用趟的雷其實是聯絡著maxabsscaler()的,因為在執行的時候報錯typeerror: float() argument must be a string or a number, not 『maxabsscaler』而我原來使用的是maxabsscaler().fit(echo_trans),因此會報錯。報錯原因為:

.fit method returns the standard scalar object. you are using that to train the model. please use fit_transfor or transform after the fit. like below

(fit方法返回標準標量物件。你用它來訓練模型。請使用fit_transfor或轉換後,適合。像下面的)

因此用法應該為:

sc_x.fit(x)

x = sc_x.transform(x)

orx = sc_x.fit_transform(x)

在我的**中其更改方式應為:

t.maxabsscaler(

).fit_transform(echo_trans)

如題這節主要討論在使用sklearn的時候其輸出的矩陣維度問題。至於為什麼討論這個問題主要是因為使用torchivision.transform的時候官方包會自動將你的輸入矩陣的h * w * c轉變為c * h * w,然而當你使用sklearn的時候其輸出與輸入的矩陣維度一致均為h * w * c。然而torch的標準輸入時c * h * w這樣就可能會報錯。因此需要你在自定義資料集裡面將矩陣維度改換過來。在我的程式中我使用的**為:

'''

由於torch的處理是c*h*w,而讀取是h*w*c所以需要調轉維度。

如果使用torchvision的transform則不需要進行這一步

'''echo = echo.transpose(2,

0,1)

label = label.transpose(2,

0,1)

此處由於我的匯入為nparray所以直接使用numpy的轉置矩陣方案。而且由於torch的data.dataloader 會自動將輸入改為tensor所以也不需要額外將nparray轉化為tensor。在此處若是為tensor,建議使用tensor.permute()

data science

記錄 media使過程中趟過的坑

1 下面使用的是min width屬性 media min width 768px media min width 992px media min width 1200px 說明 需要注意的是,使用min width 其它的min屬性也是同理 時,需要將min width後面屬性值最小的寫在最上面,...

記錄在vue中使用jsx時踩過的坑

使用方法及細節就不一一說了。1.給input或者textarea繫結value時,出現失效的問題。解決方法 2.給input繫結disabled屬性時,出現時而有效時而有效的問題。解決方法同上,也是dompropsdisabled 假如你定義了disabled的話 3.在封裝高階元件時,v mode...

QT學習記錄 在表盤中畫線

1表盤一般有現成的,直接貼到qlabel就好了 2將qlabel控制項提公升為乙個繼承qlabel類的自定義類 重寫該類的paintevent函式,一圈也就360 不會多也不會少,分成360份,就知道每個數值該對應著旋轉多少了 記錄一些關鍵步驟 void mylabel paintevent qpa...