ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 4๏ธโƒฃ Pytorch ๊ธฐ์ดˆ_์—ฌ๋Ÿฌ ํ•จ์ˆ˜๋“ค
    AI\ML\DL/Pytorch 2023. 7. 14. 12:32
    ๋ฐ˜์‘ํ˜•

     

    ๋žœ๋ค ํ•จ์ˆ˜

    1. torch.randn: ๋žœ๋คํ•œ ์ˆซ์ž๋“ค์„ ํ‰๊ท ์ด 0, ๋ถ„์‚ฐ์ด 1์ด๋˜๋„๋ก normal distribution์œผ๋กœ ๋ฐ˜ํ™˜

    2. torch.rand: 0๋ถ€ํ„ฐ 1์‚ฌ์ด ๋žœ๋คํ•œ ์ˆซ์ž๋“ค์„ uniform distribution ์œผ๋กœ ๋ฐ˜ํ™˜

    3. torch.randint(1,5,size=(12,)): 1๋ถ€ํ„ฐ 5๋ฏธ๋งŒ 12๊ฐœ ์ •์ˆ˜

    ๋ชจ๋‘ ์›ํ•˜๋Š” ํ–‰๋ ฌ ์‚ฌ์ด์ฆˆ๋กœ ๋žœ๋คํ•œ ๊ฐ’๋“ค์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜์ด๋‹ค. 

     

    • print(A[A[:,0]<0,:]): A ํ…์„œ์—์„œ 0๋ฒˆ์งธ ์—ด์ด ์Œ์ˆ˜์ธ ํ–‰๋“ค์„ ๋ชจ๋‘ ์Šฌ๋ผ์ด์‹ฑํ•˜์—ฌ ๊ฐ€์ ธ์˜ด

     

    ์ ˆ๋Œ€๊ฐ’, ์ œ๊ณฑ๊ทผ, ์ง€์ˆ˜, ๋กœ๊ทธ, ๋ฐ˜์˜ฌ๋ฆผ, ๋‚ด๋ฆผ, ์˜ฌ๋ฆผ ํ•จ์ˆ˜

     

     

    ์ฃผ์˜ํ• ์ : torch ํ•จ์ˆ˜์˜ ์ž…๋ ฅ์œผ๋กœ ๊ทธ๋ƒฅ integer๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๊ณ  ์ด๋ฅผ ํ…์„œ๋กœ ๋ฐ”๊ฟ”์„œ ๋„ฃ์–ด์ค˜์•ผ ํ•œ๋‹ค.

    ์˜ˆ๋ฅผ๋“ค์–ด torch.log(10) ์ด๋Ÿฐ์‹์œผ๋กœ integer๋ฅผ ์“ฐ๋ฉด ์•ˆ๋˜๊ณ  torch.log(torch.tensor(10)) ์ด๋Ÿฐ์‹์œผ๋กœ ์จ์ค˜์•ผ ํ•œ๋‹ค. 

     

    ์‹คํ–‰๊ฒฐ๊ณผ

     

    ์‚ผ๊ฐํ•จ์ˆ˜๋“ค

     

    - torch.pi ์˜ type ์€ float ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ torch.tensor๋กœ ๊ฐ์‹ธ์ฃผ๋ฉด type์ด tensor ๋กœ ๋ฐ”๋€๋‹ค.

     

    isnan

     

     

    torch.nan ์€ ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๊ฐ’์ด๊ณ , torch.inf ๋Š” Infinite ํ•œ ๊ฐ’์ด๋‹ค.

    ํ•ด๋‹น ๊ฐ’์ด ํ…์„œ์•ˆ์— ๋“ค์–ด์žˆ๋Š”์ง€ ์•„๋‹Œ์ง€ torch.isnan, torch.isinf ํ•จ์ˆ˜๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

    True ํ˜น์€ False์˜ boolean ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

     

    ์ตœ๋Œ€๊ฐ’, ์ตœ์†Œ๊ฐ’ argmax

     

     

    • torch.max(A,axis=0): 2์ฐจ์› ํ–‰๋ ฌ A ์—์„œ ๊ฐ ์—ด์˜ ์ตœ๋Œ€๊ฐ’(values)๊ณผ ๊ทธ ์ธ๋ฑ์Šค(indices) ๋ฐ˜ํ™˜
    • torch.max(A,axis=1): 2์ฐจ์› ํ–‰๋ ฌ A ์—์„œ ๊ฐ ํ–‰์˜ ์ตœ๋Œ€๊ฐ’(values)๊ณผ ๊ทธ ์ธ๋ฑ์Šค (indices) ๋ฐ˜ํ™˜
    • torch.max(A,axis=0, keepdims=True): ์ฐจ์›๊ณผ ์—ด ์‚ฌ์ด์ฆˆ(4)๋ฅผ  ์œ ์ง€ํ•˜๋ฉด์„œ ์ตœ๋Œ€๊ฐ’ ๋ฐ˜ํ™˜, shape: (1,4)
    • torch.max(A,axis=1, keepdims=True): ์ฐจ์›๊ณผ ํ–‰ ์‚ฌ์ด์ฆˆ(3)๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ์ตœ๋Œ€๊ฐ’ ๋ฐ˜ํ™˜, shape: (3,1)

     

    ์ •๋ ฌ

     

    a๊ฐ€ 1์ฐจ์› ํ˜น์€ ๋‹ค์ฐจ์› ํ…์„œ๋ผ๊ณ  ํ•  ๋•Œ

    • a_sorted=torch.sort(a,dim=0): ๊ฐ ์—ด๋“ค์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ
    • a.sort(dim=0, descending=True): ๊ฐ ์—ด๋“ค์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ
    • a_sorted=torch.sort(a,dim=1): ๊ฐ ํ–‰์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ

     

    ํ•ฉ, ํ‰๊ท , ํ‘œ์ค€ํŽธ์ฐจ

     

    • torch.sum(a): ๋ชจ๋“  ์„ฑ๋ถ„๋“ค์˜ ํ•ฉ
    • torch.sum(a, axis=1): ๊ฐ ํ–‰์˜ ์„ฑ๋ถ„๋“ค์˜ ํ•ฉ
    • torch.mean(a): ๋ชจ๋“  ์„ฑ๋ถ„๋“ค์˜ ํ‰๊ท ๊ฐ’
    • torch.mean(a, axis=1): ๊ฐ ํ–‰์˜ ์„ฑ๋ถ„๋“ค์˜ ํ‰๊ท 
    • torch.std(a): ๋ชจ๋“  ์„ฑ๋ถ„๋“ค์˜ ํ‘œ์ค€ํŽธ์ฐจ

     

    ๋‚ด์ , ํ–‰๋ ฌ๊ณฑ, ์ „์น˜

     

    • torch.sum(a*b): ํ–‰๋ ฌ์˜ ๋‚ด์ , ์š”์†Œ๋ผ๋ฆฌ์˜ ๊ณฑ์„ ๋”ํ•˜๊ธฐ
    • a.transpose(1,0): ์ „์น˜
    • a.permute(1,0): ์ „์น˜
    • a.T: ์ „์น˜
    • a.permute(0,2,1): ํ–‰๋ ฌ์˜ dimension ์ˆœ์„œ๋ฅผ ๋ฐ”๊ฟ”์ค€๋‹ค. shape์„ 4,3,6 ์—์„œ 4,6,3 ์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.

     

    Stack, concat

    • torch.vstack([A,B]): ํ–‰์œผ๋กœ ์Œ“๊ธฐ (์•„๋ž˜๋กœ)
    • torch.hstack([A,B]): ์—ด๋กœ ์Œ“๊ธฐ (์˜†์œผ๋กœ)
    • torch.cat([A,B], dim=0): ํ–‰์œผ๋กœ ์Œ“๊ธฐ
    • torch.cat([A,B], dim=1): ์—ด๋กœ ์Œ“๊ธฐ

    

    Squeeze, unsqueeze

    • A.squeeze(): dimension size๊ฐ€ 1์ธ ๊ฒƒ์„ ์ œ๊ฑฐํ•˜๊ณ  ์•„๋‹Œ ๊ฒƒ๋งŒ ๋‚จ๊ธด๋‹ค.
    • A.unsqueeze(): dimension size ๋ฅผ ํ•˜๋‚˜ ๋Š˜๋ฆฐ๋‹ค.

     

    Repeat

    • ์ง€์ •๋œ ์ฐจ์›๋งŒํผ ํ…์„œ๋ฅผ ๋ฐ˜๋ณตํ•œ๋‹ค.

     

     

Designed by Tistory.