matrix
free_matrix
ν¨μ μ΄λ¦: free_matrix
μ λ ₯:
matrix m (2μ°¨μ λ°°μ΄)
λμ:
2μ°¨μ λ°°μ΄ mμ ν λΉλ λ©λͺ¨λ¦¬λ₯Ό ν΄μ νλ ν¨μμ λλ€.
νλ§λ€ ν λΉλ λ©λͺ¨λ¦¬λ₯Ό μ°μ ν΄μ ν λ€, λ§μ§λ§μΌλ‘ 2μ°¨μ λ°°μ΄ μ체μ λ©λͺ¨λ¦¬λ₯Ό ν΄μ ν©λλ€.
μ€λͺ :
μ΄ ν¨μλ Darknet λΌμ΄λΈλ¬λ¦¬μμ μ¬μ©λλ ν¨μλ‘, 2μ°¨μ λ°°μ΄λ‘ μ΄λ£¨μ΄μ§ νλ ¬(matrix)μ λ©λͺ¨λ¦¬λ₯Ό ν΄μ ν©λλ€.
μ΄ ν¨μλ CμΈμ΄μμ λμ μΌλ‘ ν λΉν λ©λͺ¨λ¦¬λ₯Ό ν΄μ νλ ν¨μ μ€ νλμΈ free() ν¨μλ₯Ό μ¬μ©ν©λλ€.
Darknet λΌμ΄λΈλ¬λ¦¬μμλ νλ ¬(matrix)μ μ¬μ©νμ¬ λ€μν κ³μ°μ μννλ―λ‘, νλ ¬ κ³μ°μ λ§μΉκ³ λμλ λ©λͺ¨λ¦¬λ₯Ό ν΄μ ν΄μ£Όμ΄μΌ ν©λλ€.
matrix_topk_accuracy
ν¨μ μ΄λ¦: matrix_topk_accuracy
μ λ ₯:
truth: μ°Έ κ° νλ ¬(matrix) (float νμ )
guess: μμΈ‘ κ° νλ ¬(matrix) (float νμ )
k: μμ kκ°μ ν΄λμ€λ₯Ό κ°μ Έμ€κΈ° μν κ° (int νμ )
λμ:
μμΈ‘ κ° νλ ¬μμ κ° μνλ§λ€ κ°μ₯ λμ kκ°μ κ°μ΄ λ€μ΄μλ μΈλ±μ€λ₯Ό κ°μ Έμ¨λ€.
μ°Έ κ° νλ ¬μμ ν΄λΉ μνμ ν΄λμ€κ° kκ° μ€ νλμΈ κ²½μ° μ νν μμΈ‘μΌλ‘ κ°μ£Όνκ³ μ νν μμΈ‘ μλ₯Ό κ³μ°νλ€.
λͺ¨λ μνμ λν μ νλλ₯Ό κ³μ°νμ¬ λ°ννλ€.
μ€λͺ :
μ΄ ν¨μλ μμ kκ°μ ν΄λμ€μ λν΄ μ νλλ₯Ό κ³μ°νλ λ° μ¬μ©λλ€.
μ λ ₯λ truthμ guess νλ ¬μ μμΈ‘ λͺ¨λΈμ μΆλ ₯ κ°κ³Ό μ€μ μ°Έ κ°μ λνλΈλ€.
kλ κ°μ Έμ¬ μμ ν΄λμ€μ μλ₯Ό μ μνλ€. μλ₯Ό λ€μ΄, k=1μΈ κ²½μ°, κ°μ₯ λμ κ°μ΄ λ€μ΄μλ μΈλ±μ€λ₯Ό κ°μ Έμμ νλμ ν΄λμ€λ‘ μμΈ‘μ μννλ€.
μ΄ ν¨μλ λͺ¨λ μνμ λν΄ μμΈ‘κ³Ό μ°Έ κ°μ΄ μΌλ§λ μΌμΉνλμ§λ₯Ό κ³μ°νμ¬ μ νλλ₯Ό λ°ννλ€.
scale_matrix
ν¨μ μ΄λ¦: scale_matrix
μ λ ₯:
matrix m (μ€μΌμΌλ§μ μ μ©ν νλ ¬)
float scale (μ μ©ν μ€μΌμΌ κ°)
λμ:
μ£Όμ΄μ§ νλ ¬μ λͺ¨λ μμμ μ£Όμ΄μ§ μ€μΌμΌ κ°μ κ³±ν΄ μ€μΌμΌλ§μ μ μ©ν¨
μ€λͺ :
μ λ ₯μΌλ‘ μ£Όμ΄μ§ νλ ¬ mμ λͺ¨λ μμμ μ€μΌμΌ κ°μ κ³±ν΄ νλ ¬μ μ€μΌμΌλ§νλ ν¨μμ λλ€.
μ€μΌμΌλ§μ΄λ, νλ ¬μ λͺ¨λ μμμ μΌμ ν κ°μ κ³±νλ μ°μ°μΌλ‘, νλ ¬μ νλ λλ μΆμμν€λ ν¨κ³Όλ₯Ό μ€ μ μμ΅λλ€.
μ΄ ν¨μμμλ μ£Όμ΄μ§ μ€μΌμΌ κ°λ§νΌ λͺ¨λ μμλ₯Ό κ³±νμ¬ μ€μΌμΌλ§μ μ μ©ν©λλ€.
resize_matrix
ν¨μ μ΄λ¦: resize_matrix
μ λ ₯:
matrix m (ν¬κΈ°λ₯Ό μ‘°μ ν νλ ¬)
int size (μ‘°μ λ νλ ¬μ ν κ°μ)
λμ:
μ λ ₯μΌλ‘ μ£Όμ΄μ§ νλ ¬ mμ ν κ°μλ₯Ό sizeλ‘ μ‘°μ νκ³ , κ·Έ κ²°κ³Όλ₯Ό λ°ννλ€.
sizeκ° m.rowsλ³΄λ€ μμΌλ©΄, mμ λ§μ§λ§ size ~ m.rows-1 νμ μ κ±°νλ€.
sizeκ° m.rowsλ³΄λ€ ν¬λ©΄, mμ ν κ°μλ₯Ό sizeλ‘ λλ¦¬κ³ , μλ‘ μΆκ°λ νμ 0μΌλ‘ μ΄κΈ°ννλ€.
μ€λͺ :
μ λ ₯μΌλ‘ μ£Όμ΄μ§ νλ ¬ mμ ν κ°μλ₯Ό μ‘°μ νλ ν¨μμ΄λ€.
νλ ¬μ ν¬κΈ°λ₯Ό μ‘°μ ν λ, realloc ν¨μλ₯Ό μ¬μ©νμ¬ λ©λͺ¨λ¦¬λ₯Ό ν λΉνκ±°λ ν΄μ νλ€.
μλ‘μ΄ νμ 0μΌλ‘ μ΄κΈ°ννκΈ° μν΄ calloc ν¨μλ₯Ό μ¬μ©νλ€.
matrix_add_matrix
ν¨μ μ΄λ¦: matrix_add_matrix
μ λ ₯:
matrix from: λν΄μ§λ νλ ¬
matrix to: λν΄μ§λ λμ νλ ¬
λμ:
from νλ ¬μ κ° μμλ€μ to νλ ¬μ ν΄λΉ μμλ€κ³Ό λν ν, κ·Έ κ²°κ³Όλ₯Ό to νλ ¬μ ν΄λΉ μμμ λ€μ μ μ₯νλ€.
μ€λͺ :
fromκ³Ό to νλ ¬μ ν¬κΈ°κ° κ°μμΌ νλ€.
fromκ³Ό to νλ ¬μ ν¨μ λ΄μμ λ³κ²½λλ―λ‘, μλ³Έ νλ ¬μ 보쑴ν΄μΌ νλ κ²½μ° λ³΅μ¬λ³Έμ λ§λ€μ΄μ μ¬μ©ν΄μΌ νλ€.
copy_matrix
ν¨μ μ΄λ¦: copy_matrix
μ λ ₯:
matrix m (볡μ¬ν νλ ¬)
λμ:
μ λ ₯λ νλ ¬ mμ 볡μ¬νμ¬ μλ‘μ΄ νλ ¬ cλ₯Ό μμ±νκ³ λ°νν¨. μλ‘μ΄ νλ ¬ cλ μ λ ₯λ νλ ¬ mκ³Ό κ°μ ν¬κΈ°λ₯Ό κ°μ§λ©°, λμΌν κ°μ κ°μ§λλ‘ ν¨.
μ€λͺ :
ν¨μλ μ λ ₯λ νλ ¬ mμ 볡μ¬νμ¬ μλ‘μ΄ νλ ¬ cλ₯Ό μμ±νκ³ λ°νν¨.
μλ‘μ΄ νλ ¬ cλ μ λ ₯λ νλ ¬ mκ³Ό κ°μ ν¬κΈ°λ₯Ό κ°μ§λ©°, λμΌν κ°μ κ°μ§λλ‘ ν¨.
μ λ ₯λ νλ ¬ mκ³Ό μλ‘μ΄ νλ ¬ cλ λ€λ₯Έ λ©λͺ¨λ¦¬ 곡κ°μ μ μ₯λ¨.
ν¨μ λ΄λΆμμλ λ©λͺ¨λ¦¬ ν λΉμ μν΄ calloc ν¨μλ₯Ό μ¬μ©ν¨.
make_matrix
ν¨μ μ΄λ¦: make_matrix
μ λ ₯:
(int) rows: μμ±ν νμ μ
(int) cols - μμ±ν μ΄μ μ
λμ:
rowsμ cols ν¬κΈ°μ matrixλ₯Ό μμ±νκ³ 0μΌλ‘ μ΄κΈ°ν
μ€λͺ :
μ λ ₯μΌλ‘ μ£Όμ΄μ§ ν¬κΈ°(rows * cols)λ‘ matrixλ₯Ό μμ±νκ³ , νλ ¬μ κ°μ 0μΌλ‘ μ΄κΈ°νν ν μμ±λ matrixλ₯Ό λ°ννλ ν¨μμ λλ€.
hold_out_matrix
ν¨μ μ΄λ¦: hold_out_matrix
μ λ ₯:
matrix *m (ν¬μΈν°)
int n
λμ:
μ λ ₯μΌλ‘ λ°μ matrix ν¬μΈν° mμμ 무μμλ‘ nκ°μ μνμ μΆμΆνμ¬ κ·Έ μνλ€λ‘ μ΄λ£¨μ΄μ§ μλ‘μ΄ matrix hλ₯Ό μμ±νκ³ λ°ννλ€. μ΄λ, mμμ μΆμΆλ μνλ€μ mμμ μ κ±°λλ€.
μ€λͺ :
hold-out κΈ°λ²μ λ¨Έμ λ¬λ λͺ¨λΈμ μ±λ₯μ νκ°νκΈ° μν΄ λ°μ΄ν°μ μ νμ΅ λ°μ΄ν°μ ν μ€νΈ λ°μ΄ν°λ‘ λλλ λ°©λ² μ€ νλμ΄λ€.
μ΄ ν¨μλ μ λ ₯μΌλ‘ λ°μ matrix ν¬μΈν° mμμ 무μμλ‘ nκ°μ μνμ μΆμΆνμ¬ ν μ€νΈ λ°μ΄ν°μ μΌλ‘ μ¬μ©νκΈ° μν matrix hλ₯Ό μμ±νκ³ , μ΄λ¬ν μνλ€μ mμμ μ κ±°ν¨μΌλ‘μ¨ νμ΅ λ°μ΄ν°μ μ ꡬμ±νλ λ° μ¬μ©νλ€.
λ°νλλ matrix hλ ν μ€νΈ λ°μ΄ν°μ μΌλ‘ μ¬μ©λλ©°, νμ΅ λ°μ΄ν°μ μ μ λ ₯μΌλ‘ λ°μ matrix ν¬μΈν° mμμ μΆμΆλ μνμ μ μΈν λλ¨Έμ§ μνλ€λ‘ ꡬμ±λλ€.
pop_column
ν¨μ μ΄λ¦: pop_column
μ λ ₯:
matrix *m (ν¬μΈν° λ³μ, μμ λ μ΄μ ν¬ν¨νλ νλ ¬)
int c (μ μ, μμ ν μ΄μ μΈλ±μ€)
λμ:
μ λ ₯λ νλ ¬μμ ν΄λΉ μ΄μ λ°μ΄ν°λ₯Ό κΊΌλ΄μ΄ λ°°μ΄ ννλ‘ λ¦¬ν΄νκ³ , μ λ ₯λ νλ ¬μμ ν΄λΉ μ΄μ λ°μ΄ν°λ₯Ό μμ νλ€.
μ€λͺ :
μ λ ₯λ νλ ¬μ μ΄μ νλ μ κ±°νκ³ κ·Έ μ΄μ λ°μ΄ν°λ₯Ό λ°°μ΄ ννλ‘ λ¦¬ν΄νλ ν¨μμ΄λ€.
μ λ ₯λ νλ ¬μ cλ²μ§Έ μ΄μ λ°μ΄ν°λ₯Ό col λ°°μ΄μ μ μ₯νκ³ , ν΄λΉ μ΄μ μ κ±°ν ν μ΄μ κ°μλ₯Ό κ°μμν¨λ€.
μμ λ μ΄ μ΄νμ μ΄μ λͺ¨λ μΌμͺ½μΌλ‘ ν μΉΈμ© μ΄λνμ¬ λ©λͺ¨λ¦¬ μμ μ μ§λλ€.
csv_to_matrix
ν¨μ μ΄λ¦: csv_to_matrix
μ λ ₯:
char* filename: μ½μ΄λ€μΌ CSV νμΌ μ΄λ¦
λμ:
CSV νμΌμ μ½μ΄λ€μ¬ matrix κ΅¬μ‘°μ²΄λ‘ λ³ννλ ν¨μμ λλ€.
νμΌμ μ½μ΄λ€μΌ λ, κ° λΌμΈμ μ»¬λΌ μλ₯Ό νμ νκ³ , νλ κ°μ νμ±νμ¬ matrix ꡬ쑰체μ μ μ₯ν©λλ€.
μ€λͺ :
μ λ ₯λ°μ νμΌ μ΄λ¦μΌλ‘ νμΌμ μ΄μ΄μ νμΌμ΄ μμΌλ©΄ μλ¬λ₯Ό λ°μμν€κ³ , νμΌμ μ±κ³΅μ μΌλ‘ μ΄μμ λ, matrix ꡬ쑰체λ₯Ό μ΄κΈ°νν©λλ€.
κ·Έ λ€μ, νμΌμμ ν μ€μ© μ½μ΄λ€μ¬ κ° λΌμΈμ μ»¬λΌ μλ₯Ό νμ ν©λλ€. λΌμΈμ μ»¬λΌ μκ° μ²μ μ½μ΄λ€μΈ κ²½μ°, matrix ꡬ쑰체μ μ»¬λΌ μλ‘ μ€μ ν©λλ€.
μ΄ν, κ° λΌμΈμ νλ κ°μ νμ±νμ¬ matrix ꡬ쑰체μ μ μ₯ν©λλ€. λ§μ½, νλ κ° νμ± λμ€ μλ¬κ° λ°μνλ©΄ νλ‘κ·Έλ¨μ΄ μ’ λ£λ©λλ€.
λͺ¨λ λΌμΈμ μ½μ΄λ€μΈ ν, λ©λͺ¨λ¦¬λ₯Ό μ΅μ ννκΈ° μν΄ matrix κ΅¬μ‘°μ²΄κ° μ μ₯λ λ©λͺ¨λ¦¬μ ν¬κΈ°λ₯Ό μ‘°μ ν©λλ€.
λ§μ§λ§μΌλ‘, matrix ꡬ쑰체μ ν μλ₯Ό μ μ₯νκ³ , matrix ꡬ쑰체λ₯Ό λ°νν©λλ€.
matrix_to_csv
μμ κ°μ ννλ‘ μΆλ ₯λ©λλ€.
ν¨μ μ΄λ¦: matrix_to_csv
μ λ ₯:
matrix m (CSV νμΌλ‘ μ μ₯ν νλ ¬)
λμ:
μ λ ₯μΌλ‘ μ£Όμ΄μ§ νλ ¬μ CSV νμΌ νμμΌλ‘ μΆλ ₯ν©λλ€. κ° νκ³Ό μ΄μ μΌνλ‘ κ΅¬λΆλλ©°, κ° νμ λμλ κ°ν λ¬Έμκ° ν¬ν¨λ©λλ€.
μ€λͺ :
ν¨μλ μ£Όμ΄μ§ νλ ¬μ μΈμλ‘ λ°μμ, κ° μμλ₯Ό CSV νμΌ νμμΌλ‘ μΆλ ₯ν©λλ€. μ΄ ν¨μλ μ£Όλ‘ νλ ¬μ λ°μ΄ν°λ₯Ό μ μ₯νκ±°λ μΆλ ₯νλ λ° μ¬μ©λ©λλ€.
print_matrix
μμ κ°μ ννλ‘ μΆλ ₯λ©λλ€.
ν¨μ μ΄λ¦: print_matrix
μ λ ₯:
matrix m (μΆλ ₯νκ³ μ νλ νλ ¬)
λμ:
μ λ ₯μΌλ‘ λ°μ νλ ¬μ μμκ² ν¬λ§·ν νμ¬ μΆλ ₯νλ€. κ° μμλ 15.7f νμμΌλ‘ μΆλ ₯λλ©°, νκ³Ό μ΄μ κ²½κ³μλ μ μΌλ‘ ꡬλΆλ ν λλ¦¬κ° κ·Έλ €μ§λ€.
μ€λͺ :
μ΄ ν¨μλ μ£Όμ΄μ§ νλ ¬μ μμκ² μΆλ ₯νκΈ° μν΄ λ§λ€μ΄μ‘λ€.
μ λ ₯μΌλ‘ λ°μ νλ ¬μ μ΄μ€ for 루νλ₯Ό ν΅ν΄ μννλ©°, κ° μμλ₯Ό 15.7f νμμΌλ‘ μΆλ ₯νλ€.
μ΄λ κ° νκ³Ό μ΄μ κ²½κ³μλ μ μΌλ‘ ꡬλΆλ ν λλ¦¬κ° κ·Έλ €μ§λ€.
Last updated
Was this helpful?