본문 바로가기
Study/머신러닝

[tensorflow] dataframe 만들고 dataframe으로 학습시키기

by 투말치 2021. 1. 25.

목차

    반응형

    DataFrame 생성하기

    pandas 라이브러리가 csv, excel을 다룰 때 사용된다.

     

    DataFrame 생성

    data_ex={'a':[1,2,3],'b':[10,20,30],'c':[100,200,300]}
    df_ex=pd.DataFrame(data_ex)
    df_ex
      a b c
    0 1 10 100
    1 2 20 200
    2 3 30 300

    다음과 같은 형태의 데이터 프레임이 생성된다.

     

     

    생성한 데이터 프레임 저장하기

    train_df.to_csv(train_csv_path, index=False)
    test_df.to_csv(test_csv_path, index=False)

     

     

    데이터 프레임으로 학습

     

    데이터 전처리

     

    1. csv 데이터를 불러온다

    test_df=pd.read_csv('test_dataset.csv')

    2. 이미지 generator를 생성한다

    train_datagen=ImageDataGenerator(
        rescale=1./255.,
        width_shift_range=0.3,
        zoom_range=0.2,
        horizontal_flip=True
    )
    
    test_datagen=ImageDataGenerator(
        rescale=1./255.
    )

     

    3. flow_from_dataframe을 사용해서 데이터 제너레이터 생성

    - column 명을 지정할 수 있다.

    train_generator=train_datagen.flow_from_dataframe(   #저번에는 flow_from_directory였음
        train_df, 
        x_col='name',
        y_col='class',
        target_size=input_shape[:2],
        batch_size=batch_size
    )
    
    test_generator=test_datagen.flow_from_dataframe(   #저번에는 flow_from_directory였음
        test_df, 
        x_col='name',
        y_col='class',
        target_size=input_shape[:2],
        batch_size=batch_size
    )

     

    4. fit_generator를 사용해 모델 학습 진행

    model.fit_generator(
        train_generator,
        steps_per_epoch=len(train_generator),
        epochs=num_epochs,
        validation_data=test_generator,
        validation_steps=len(test_generator)
    
    )
    반응형