Browse Source

upload codes

master
caichenshu 1 year ago
parent
commit
bc5697f268
  1. BIN
      CNN-quad2D/codes_keras_v1/__pycache__/config.cpython-38.pyc
  2. BIN
      CNN-quad2D/codes_keras_v1/__pycache__/utils.cpython-38.pyc
  3. 14
      CNN-quad2D/codes_keras_v1/config.py
  4. 74
      CNN-quad2D/codes_keras_v1/model.py
  5. 29
      CNN-quad2D/codes_keras_v1/test.py
  6. 0
      CNN-quad2D/codes_keras_v1/train.py
  7. 53
      CNN-quad2D/codes_keras_v1/utils.py
  8. BIN
      CNN-quad2D/data/conventional/1.dat
  9. BIN
      CNN-quad2D/data/conventional/1.mat
  10. BIN
      CNN-quad2D/data/conventional/10.dat
  11. BIN
      CNN-quad2D/data/conventional/10.mat
  12. BIN
      CNN-quad2D/data/conventional/100.dat
  13. BIN
      CNN-quad2D/data/conventional/100.mat
  14. BIN
      CNN-quad2D/data/conventional/100_neg.dat
  15. BIN
      CNN-quad2D/data/conventional/100_neg.mat
  16. BIN
      CNN-quad2D/data/conventional/101.dat
  17. BIN
      CNN-quad2D/data/conventional/101.mat
  18. BIN
      CNN-quad2D/data/conventional/101_neg.dat
  19. BIN
      CNN-quad2D/data/conventional/101_neg.mat
  20. BIN
      CNN-quad2D/data/conventional/102.dat
  21. BIN
      CNN-quad2D/data/conventional/102.mat
  22. BIN
      CNN-quad2D/data/conventional/102_neg.dat
  23. BIN
      CNN-quad2D/data/conventional/102_neg.mat
  24. BIN
      CNN-quad2D/data/conventional/103.dat
  25. BIN
      CNN-quad2D/data/conventional/103.mat
  26. BIN
      CNN-quad2D/data/conventional/103_neg.dat
  27. BIN
      CNN-quad2D/data/conventional/103_neg.mat
  28. BIN
      CNN-quad2D/data/conventional/104.dat
  29. BIN
      CNN-quad2D/data/conventional/104.mat
  30. BIN
      CNN-quad2D/data/conventional/104_neg.dat
  31. BIN
      CNN-quad2D/data/conventional/104_neg.mat
  32. BIN
      CNN-quad2D/data/conventional/105.dat
  33. BIN
      CNN-quad2D/data/conventional/105.mat
  34. BIN
      CNN-quad2D/data/conventional/105_neg.dat
  35. BIN
      CNN-quad2D/data/conventional/105_neg.mat
  36. BIN
      CNN-quad2D/data/conventional/106.dat
  37. BIN
      CNN-quad2D/data/conventional/106.mat
  38. BIN
      CNN-quad2D/data/conventional/106_neg.dat
  39. BIN
      CNN-quad2D/data/conventional/106_neg.mat
  40. BIN
      CNN-quad2D/data/conventional/107.dat
  41. BIN
      CNN-quad2D/data/conventional/107.mat
  42. BIN
      CNN-quad2D/data/conventional/107_neg.dat
  43. BIN
      CNN-quad2D/data/conventional/107_neg.mat
  44. BIN
      CNN-quad2D/data/conventional/108.dat
  45. BIN
      CNN-quad2D/data/conventional/108.mat
  46. BIN
      CNN-quad2D/data/conventional/108_neg.dat
  47. BIN
      CNN-quad2D/data/conventional/108_neg.mat
  48. BIN
      CNN-quad2D/data/conventional/109.dat
  49. BIN
      CNN-quad2D/data/conventional/109.mat
  50. BIN
      CNN-quad2D/data/conventional/109_neg.dat
  51. BIN
      CNN-quad2D/data/conventional/109_neg.mat
  52. BIN
      CNN-quad2D/data/conventional/10_neg.dat
  53. BIN
      CNN-quad2D/data/conventional/10_neg.mat
  54. BIN
      CNN-quad2D/data/conventional/11.dat
  55. BIN
      CNN-quad2D/data/conventional/11.mat
  56. BIN
      CNN-quad2D/data/conventional/110.dat
  57. BIN
      CNN-quad2D/data/conventional/110.mat
  58. BIN
      CNN-quad2D/data/conventional/110_neg.dat
  59. BIN
      CNN-quad2D/data/conventional/110_neg.mat
  60. BIN
      CNN-quad2D/data/conventional/111.dat
  61. BIN
      CNN-quad2D/data/conventional/111.mat
  62. BIN
      CNN-quad2D/data/conventional/111_neg.dat
  63. BIN
      CNN-quad2D/data/conventional/111_neg.mat
  64. BIN
      CNN-quad2D/data/conventional/112.dat
  65. BIN
      CNN-quad2D/data/conventional/112.mat
  66. BIN
      CNN-quad2D/data/conventional/112_neg.dat
  67. BIN
      CNN-quad2D/data/conventional/112_neg.mat
  68. BIN
      CNN-quad2D/data/conventional/113.dat
  69. BIN
      CNN-quad2D/data/conventional/113.mat
  70. BIN
      CNN-quad2D/data/conventional/113_neg.dat
  71. BIN
      CNN-quad2D/data/conventional/113_neg.mat
  72. BIN
      CNN-quad2D/data/conventional/114.dat
  73. BIN
      CNN-quad2D/data/conventional/114.mat
  74. BIN
      CNN-quad2D/data/conventional/114_neg.dat
  75. BIN
      CNN-quad2D/data/conventional/114_neg.mat
  76. BIN
      CNN-quad2D/data/conventional/115.dat
  77. BIN
      CNN-quad2D/data/conventional/115.mat
  78. BIN
      CNN-quad2D/data/conventional/115_neg.dat
  79. BIN
      CNN-quad2D/data/conventional/115_neg.mat
  80. BIN
      CNN-quad2D/data/conventional/116.dat
  81. BIN
      CNN-quad2D/data/conventional/116.mat
  82. BIN
      CNN-quad2D/data/conventional/116_neg.dat
  83. BIN
      CNN-quad2D/data/conventional/116_neg.mat
  84. BIN
      CNN-quad2D/data/conventional/117.dat
  85. BIN
      CNN-quad2D/data/conventional/117.mat
  86. BIN
      CNN-quad2D/data/conventional/117_neg.dat
  87. BIN
      CNN-quad2D/data/conventional/117_neg.mat
  88. BIN
      CNN-quad2D/data/conventional/118.dat
  89. BIN
      CNN-quad2D/data/conventional/118.mat
  90. BIN
      CNN-quad2D/data/conventional/118_neg.dat
  91. BIN
      CNN-quad2D/data/conventional/118_neg.mat
  92. BIN
      CNN-quad2D/data/conventional/119.dat
  93. BIN
      CNN-quad2D/data/conventional/119.mat
  94. BIN
      CNN-quad2D/data/conventional/119_neg.dat
  95. BIN
      CNN-quad2D/data/conventional/119_neg.mat
  96. BIN
      CNN-quad2D/data/conventional/11_neg.dat
  97. BIN
      CNN-quad2D/data/conventional/11_neg.mat
  98. BIN
      CNN-quad2D/data/conventional/12.dat
  99. BIN
      CNN-quad2D/data/conventional/12.mat
  100. BIN
      CNN-quad2D/data/conventional/120.dat

BIN
CNN-quad2D/codes_keras_v1/__pycache__/config.cpython-38.pyc

Binary file not shown.

BIN
CNN-quad2D/codes_keras_v1/__pycache__/utils.cpython-38.pyc

Binary file not shown.

14
CNN-quad2D/codes_keras_v1/config.py

@ -0,0 +1,14 @@
GenWeightPath = 'GenCurvedModel.h5'
DisWeightPath = 'DisCurvedModel.h5'
CurvedMatPath = 'CNN-quad2D/data/curved_mat/'
CurvedAnsPath = 'CNN-quad2D/data/curved_ans/'
net_input_size = 32 #256
row_size = 10
col_size = 32
train_amount = 400
test_amount = 100
Epochs = 10 #6000
BatchSize = 200 #20

74
CNN-quad2D/codes_keras_v1/model.py

@ -0,0 +1,74 @@
import torch
import os
from config import *
from utils import *
import numpy as np
import scipy.io as scio
import tensorflow as tf
import tensorflow.keras as keras
from keras.models import Sequential
from keras.layers import Dense,Dropout,Activation,Flatten
from keras.layers import Conv2D,GlobalAveragePooling2D,MaxPooling2D,ZeroPadding2D,BatchNormalization
from tensorflow.keras.optimizers import Adam
import matplotlib.pyplot as plt
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
np.set_printoptions(threshold=np.inf)
train_data, train_ans, test_data, test_ans = load_data()
# train_data = train_data.reshape(800,10,32,1)
train_data = tf.expand_dims(train_data, axis=-1)
print(train_data.shape)
model=Sequential()
# model.add(Dense(20))
# model.add(Activation("relu"))
# model.add(Dense(1))
# model.add(Activation("relu"))
model.add(Conv2D(filters=1,kernel_size=(10,32),
strides=(1,1),padding='valid',
input_shape=(10,32,1),
activation='relu'))
# train the model using Adam
print("Training network")
model.compile(loss='mean_squared_logarithmic_error',
optimizer='adam',
metrics=['accuracy'])
H = model.fit(train_data,train_ans,validation_data=(test_data,test_ans),
epochs=Epochs,batch_size=BatchSize)
model.save_weights("model.h5")
print("Save model to disk")
# evaluate the network
print("Evaluating network")
loss, accuracy = model.evaluate(train_data,train_ans)
print("\nLoss: %.2f, Accuracy: %.2f%%" % (loss, accuracy*100))
# test
print("Test network")
pred = model.predict(test_data,batch_size=BatchSize)
pred = pred.reshape((200,))
print(np.abs(pred-test_ans).shape)
print(test_ans.shape)
acc = np.mean(np.abs(pred-test_ans) < 1000)
print(pred.shape)
print('Prediction Accuracy: %.2f%%' % (acc*100))
# # plot the training loss and accuracy
# plt.style.use("ggplot")
# plt.figure()
# plt.plot(np.arange(Epochs), H.history["loss"], label="train_loss")
# plt.plot(np.arange(Epochs), H.history["val_loss"], label="val_loss")
# plt.plot(np.arange(Epochs), H.history["accuracy"], label="train_acc")
# plt.plot(np.arange(Epochs), H.history["val_accuracy"], label="val_acc")
# plt.title("Training Loss and Accuracy")
# plt.xlabel("Epoch #")
# plt.ylabel("Loss/Accuracy")
# plt.legend()
# plt.savefig("LOSS.jpg")
print("Model summary")
model.summary()

29
CNN-quad2D/codes_keras_v1/test.py

@ -0,0 +1,29 @@
import torch
import os
import config
from utils import *
import tensorflow.keras as keras
from keras.models import load_model
from keras.preprocessing import image
import matplotlib.pyplot as plt
train_data, train_ans, test_data, test_ans = load_data()
print('Using loaded model to predict...')
model = load_model('model.h5')
np.set_printoptions(precision=4)
# test
print("Test network")
pred = model.predict(test_data,batch_size=BatchSize)
pred = pred.reshape((200,))
print(np.abs(pred-test_ans).shape)
print(test_ans.shape)
acc = np.mean(np.abs(pred-test_ans) < 1000)
print(pred.shape)
print('Prediction Accuracy: %.2f%%' % (acc*100))
model.save('./weights/model.h5')
print("Model summary")
model.summary()

0
CNN-quad2D/codes_keras_v1/train.py

53
CNN-quad2D/codes_keras_v1/utils.py

@ -0,0 +1,53 @@
import torch
import numpy as np
import scipy.io as scio
from config import *
def load_data():
train_data = np.empty((train_amount*2,row_size,col_size),dtype="double")
train_ans = np.empty((train_amount*2,),dtype="double")
test_data = np.empty((test_amount*2,row_size,col_size),dtype="double")
test_ans = np.empty((test_amount*2,),dtype="double")
print("Load training data")
for i in range(1,400):
dir = CurvedMatPath + str(i) + ".mat"
data = scio.loadmat(dir)
train_data[i] = np.pad(data['mat'],((0,6),(0,20)),'constant',constant_values=(0,0))
dir = CurvedAnsPath + str(i) + ".mat"
data = scio.loadmat(dir)
train_ans[i] = data['res']
# negtive area
dir = CurvedMatPath + str(i) + "_neg.mat"
data = scio.loadmat(dir)
train_data[i + train_amount] = np.pad(data['mat'],((0,6),(0,20)),'constant',constant_values=(0,0))
dir = CurvedAnsPath + str(i) + "_neg.mat"
data = scio.loadmat(dir)
train_ans[i + train_amount] = data['res']
print("Load test data")
for i in range(401,500):
dir = CurvedMatPath + str(i) + ".mat"
data = scio.loadmat(dir)
test_data[i-400] = np.pad(data['mat'],((0,6),(0,20)),'constant',constant_values=(0,0))
dir = CurvedAnsPath + str(i) + ".mat"
data = scio.loadmat(dir)
test_ans[i-400] = data['res']
# negtive area
dir = CurvedMatPath + str(i) + "_neg.mat"
data = scio.loadmat(dir)
test_data[i-400+test_amount] = np.pad(data['mat'],((0,6),(0,20)),'constant',constant_values=(0,0))
dir = CurvedAnsPath + str(i) + "_neg.mat"
data = scio.loadmat(dir)
test_ans[i-400+test_amount] = data['res']
if np.any(np.isnan(train_data)) or np.any(np.isnan(train_ans)) or np.any(np.isnan(test_data)) or np.any(np.isnan(test_ans)):
print("EXIST NAN")
return train_data, train_ans, test_data, test_ans

BIN
CNN-quad2D/data/conventional/1.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/1.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/10.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/10.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/100.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/100.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/100_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/100_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/101.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/101.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/101_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/101_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/102.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/102.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/102_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/102_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/103.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/103.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/103_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/103_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/104.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/104.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/104_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/104_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/105.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/105.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/105_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/105_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/106.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/106.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/106_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/106_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/107.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/107.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/107_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/107_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/108.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/108.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/108_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/108_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/109.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/109.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/109_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/109_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/10_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/10_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/11.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/11.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/110.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/110.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/110_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/110_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/111.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/111.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/111_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/111_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/112.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/112.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/112_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/112_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/113.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/113.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/113_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/113_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/114.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/114.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/114_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/114_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/115.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/115.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/115_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/115_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/116.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/116.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/116_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/116_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/117.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/117.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/117_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/117_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/118.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/118.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/118_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/118_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/119.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/119.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/119_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/119_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/11_neg.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/11_neg.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/12.dat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/12.mat

Binary file not shown.

BIN
CNN-quad2D/data/conventional/120.dat

Binary file not shown.

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save