Deeplearning/main.py
2024-11-10 11:37:54 +08:00

55 lines
1.7 KiB
Python

# frofrom Qtorch.Functions import dLoader
from Qtorch.Models.Qmlp import Qmlp
from Qfunctions.divSet import divSet
from Qfunctions.loaData import load_data as dLoader
from sklearn.decomposition import PCA
def main():
projet_name = '20241009MaterialDiv'
label_names =["Acrylic", "Ecoflex", "PDMS", "PLA", "Wood"]
data = dLoader(projet_name, label_names, isDir=True)
X_train, X_test, y_train, y_test, encoder = divSet(
data=data, labels=label_names, test_size= 0.3
)
print(y_train)
import pandas as pd
pca = PCA(n_components=2) # 保留两个主成分
principalComponents = pca.fit_transform(X_train)
df_pca2d = pd.DataFrame(data=principalComponents, columns=['PC1', 'PC2'])
df_pca2d['labels'] = y_train
pca = PCA(n_components=3) # 保留三个主成分
principalComponents = pca.fit_transform(X_train)
df_pca3d = pd.DataFrame(data=principalComponents, columns=['PC1', 'PC2', 'PC3'])
df_pca3d['labels'] = y_train
# 保存为xlsx文件
import os
folder = os.path.join("./Result", projet_name)
if not os.path.exists(folder):
os.makedirs(folder)
df_pca2d.to_excel(os.path.join(folder, 'pca_2d_points_with_labels.xlsx'), index=False)
df_pca3d.to_excel(os.path.join(folder, 'pca_3d_points_with_labels.xlsx'), index=False)
model = Qmlp(
X_train=X_train, X_test=X_test, y_train=y_train, y_test= y_test,
hidden_layers=[128, 128],
dropout_rate=0
)
model.fit(300)
cm = model.get_cm()
epoch_data = model.get_epoch_data()
from Qfunctions.saveToxlsx import save_to_xlsx as stx
stx(project_name=projet_name, file_name="cm", data=cm )
stx(project_name=projet_name, file_name="acc_and_loss", data=epoch_data)
print("Done")
if __name__ == '__main__':
main()