├── CNN model ├── CNN model.ipynb └── README ├── README.md └── Recurrent Model ├── LSTM model.ipynb └── README /CNN model/CNN model.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"RFsignal_classification.ipynb","provenance":[],"collapsed_sections":[],"toc_visible":true,"mount_file_id":"14UMPmzxsWj9R-hHMKV0k-NyPJGrvRf9m","authorship_tag":"ABX9TyMTw7mqPfq9M9OsIr/Mrie1"},"kernelspec":{"name":"python3","display_name":"Python 3"},"accelerator":"GPU"},"cells":[{"cell_type":"code","metadata":{"id":"wwnk01r644bs","colab_type":"code","outputId":"61a72018-c913-4f88-cf68-e6921efcb2ad","executionInfo":{"status":"ok","timestamp":1584411554433,"user_tz":240,"elapsed":6159,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":99}},"source":["import os \n","import sys\n","os.environ[\"KERAS_BACKEND\"] = \"tensorflow\"\n","import numpy as np\n","import matplotlib.pyplot as plt\n","import keras\n","import pickle as pk\n","from keras.models import Sequential\n","from keras.layers import Reshape, Dropout, Dense, Activation, BatchNormalization\n","from keras.layers import Conv2D, ZeroPadding2D,GlobalAveragePooling2D,Flatten\n","from keras.utils import to_categorical\n","from keras.callbacks import ModelCheckpoint\n","import pdb\n","\n","\n"],"execution_count":1,"outputs":[{"output_type":"stream","text":["Using TensorFlow backend.\n"],"name":"stderr"},{"output_type":"display_data","data":{"text/html":["

\n","The default version of TensorFlow in Colab will soon switch to TensorFlow 2.x.
\n","We recommend you upgrade now \n","or ensure your notebook will continue to use TensorFlow 1.x via the %tensorflow_version 1.x magic:\n","more info.

\n"],"text/plain":[""]},"metadata":{"tags":[]}}]},{"cell_type":"code","metadata":{"id":"lEusZmLPo32n","colab_type":"code","outputId":"8029fbef-4e95-4c02-c7bd-d6d050cbe318","executionInfo":{"status":"ok","timestamp":1584411600830,"user_tz":240,"elapsed":26519,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":124}},"source":["from google.colab import drive\n","drive.mount('/content/gdrive')"],"execution_count":2,"outputs":[{"output_type":"stream","text":["Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&response_type=code&scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly\n","\n","Enter your authorization code:\n","··········\n","Mounted at /content/gdrive\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"uFZXUwyZME4g","colab_type":"code","outputId":"c490a509-b358-4307-984b-d3a148ca07ea","executionInfo":{"status":"ok","timestamp":1584411668872,"user_tz":240,"elapsed":67539,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":107}},"source":["\n","iq_data = pk.load(open('/content/gdrive/My Drive/Colab Notebooks/RML2016.10b.dat','rb'),encoding ='latin1')\n","\n","\n","print('Dataset imported')\n","##### from radioML https://github.com/radioML/examples/blob/master/modulation_recognition/RML2016.10a_VTCNN2_example.ipynb\n","\n","snrs,modulation = map(lambda j: sorted(list(set(map(lambda x: x[j], iq_data.keys())))), [1,0])\n","\n","\n","print('Modulation labels: {}'.format(modulation))\n","print('SNR values for each modulation: {}'.format(snrs))\n","\n","x_data = []\n","label = []\n","for m in modulation:\n"," for snr in snrs:\n"," x_data.append(iq_data[(m,snr)])\n"," for l in np.arange(iq_data[(m,snr)].shape[0]):\n"," label.append((m,snr))\n","\n","x_stacked = np.vstack(x_data)\n","\n","######\n","print('Dataset shape: {}'.format(x_stacked.shape))\n","\n"],"execution_count":3,"outputs":[{"output_type":"stream","text":["Dataset imported\n","Modulation labels: ['8PSK', 'AM-DSB', 'BPSK', 'CPFSK', 'GFSK', 'PAM4', 'QAM16', 'QAM64', 'QPSK', 'WBFM']\n","SNR values for each modulation: [-20, -18, -16, -14, -12, -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18]\n","Dataset shape: (1200000, 2, 128)\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"2EvW2RWxtRxk","colab_type":"code","outputId":"56ffc075-fec9-4252-d8ad-c14a46e7ced9","executionInfo":{"status":"ok","timestamp":1584411688095,"user_tz":240,"elapsed":2810,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":35}},"source":["\n","np.random.seed(200)\n","N_samples = x_stacked.shape[0]\n","\n","N_train = int(N_samples*0.7)\n","\n","train_Idx = np.random.choice(np.arange(N_samples),size=N_train,replace=False)\n","\n","total_N = np.arange(N_samples)\n","\n","test_Idx = list(set(total_N)-set(train_Idx))\n","\n","x_train = x_stacked[train_Idx]\n","x_test = x_stacked[test_Idx]\n","print(x_train.shape,x_test.shape)"],"execution_count":4,"outputs":[{"output_type":"stream","text":["(840000, 2, 128) (360000, 2, 128)\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"als_Ksa6INDC","colab_type":"code","outputId":"f2755a5b-f48f-4ca7-d255-c0899d074422","executionInfo":{"status":"ok","timestamp":1584411726879,"user_tz":240,"elapsed":1244,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":35}},"source":["input_encode = lambda x: modulation.index(label[x][0])\n","y_list_train= np.array(list(map(input_encode,train_Idx)),dtype='float32')\n","y_list_test = np.array(list(map(input_encode,test_Idx)),dtype='float32')\n","print(len(y_list_train),len(y_list_test))\n"],"execution_count":7,"outputs":[{"output_type":"stream","text":["840000 360000\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"4awt0jU7cplW","colab_type":"code","colab":{}},"source":["y_train = to_categorical(y_list_train,len(modulation))\n","y_test = to_categorical(y_list_test,len(modulation))\n"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"m1d68f9n7Sqj","colab_type":"code","outputId":"065427b0-0997-470c-aacf-07f81221f8e4","executionInfo":{"status":"ok","timestamp":1584411739199,"user_tz":240,"elapsed":913,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":87}},"source":["print('Number of Samples, height, width')\n","print(x_train.shape)\n","\n","\n","N,H,W = x_train.shape\n","N_test = x_test.shape[0]\n","C = 1\n","\n","x_train = x_train.reshape(N,H,W,C)\n","x_test = x_test.reshape(N_test,H,W,C)\n","print(x_train.shape,x_test.shape)\n","print(y_train.shape,y_test.shape)\n"],"execution_count":9,"outputs":[{"output_type":"stream","text":["Number of Samples, height, width\n","(840000, 2, 128)\n","(840000, 2, 128, 1) (360000, 2, 128, 1)\n","(840000, 10) (360000, 10)\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"mMFRmnV2gtxX","colab_type":"code","outputId":"f7445686-a305-44f2-8dd5-71ed602ffc8b","executionInfo":{"status":"ok","timestamp":1584377805262,"user_tz":240,"elapsed":3650,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":283}},"source":["plt.plot(x_train[0,0,:],x_train[0,1,:],'.')"],"execution_count":9,"outputs":[{"output_type":"execute_result","data":{"text/plain":["[]"]},"metadata":{"tags":[]},"execution_count":9},{"output_type":"display_data","data":{"image/png":"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\nxNZ+RgAAAABJRU5ErkJggg==\n","text/plain":["
"]},"metadata":{"tags":[]}}]},{"cell_type":"code","metadata":{"id":"5cY8OM15AlgQ","colab_type":"code","outputId":"7c6c0abd-d658-4755-f83f-afcd6d913f59","executionInfo":{"status":"ok","timestamp":1584412071895,"user_tz":240,"elapsed":1001,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":433}},"source":["# CNN\n","model = Sequential(name='CNN_Architecture')\n","\n","model.add(ZeroPadding2D((0,2),data_format='channels_last'))\n","\n","model.add(Conv2D(64,(2,3),activation= 'relu',data_format='channels_last',input_shape= (H,W,C),name = 'conv1'))\n","model.add(Dropout(0.5))\n","model.add(Conv2D(80,(1,3),activation= 'relu',data_format='channels_last'))\n","model.add(Dropout(0.5))\n","model.add(Flatten())\n","model.add(Dense(128,activation='relu'))\n","model.add(Dense(len(modulation),activation='softmax'))\n","\n","model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])\n","model.build(input_shape = (None,H,W,C))\n","model.summary()\n"],"execution_count":14,"outputs":[{"output_type":"stream","text":["Model: \"CNN_Architecture\"\n","_________________________________________________________________\n","Layer (type) Output Shape Param # \n","=================================================================\n","zero_padding2d_3 (ZeroPaddin (None, 2, 132, 1) 0 \n","_________________________________________________________________\n","conv1 (Conv2D) (None, 1, 130, 64) 448 \n","_________________________________________________________________\n","dropout_5 (Dropout) (None, 1, 130, 64) 0 \n","_________________________________________________________________\n","conv2d_3 (Conv2D) (None, 1, 128, 80) 15440 \n","_________________________________________________________________\n","dropout_6 (Dropout) (None, 1, 128, 80) 0 \n","_________________________________________________________________\n","flatten_3 (Flatten) (None, 10240) 0 \n","_________________________________________________________________\n","dense_5 (Dense) (None, 128) 1310848 \n","_________________________________________________________________\n","dense_6 (Dense) (None, 10) 1290 \n","=================================================================\n","Total params: 1,328,026\n","Trainable params: 1,328,026\n","Non-trainable params: 0\n","_________________________________________________________________\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"k2CcD_FYN2bm","colab_type":"code","outputId":"f1f170ac-ccd0-4a1d-927c-42ec069b3489","executionInfo":{"status":"ok","timestamp":1584238243460,"user_tz":240,"elapsed":632780,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":329}},"source":["epoch = 50\n","batch = 1024\n","checkpoint = ModelCheckpoint(\"/content/gdrive/My Drive/Colab Notebooks/CNN_weights.best.hdf5\", monitor='loss',\n"," save_best_only=True, mode='auto')\n","\n","\n","start_run =model.fit(x_train,y_train,batch_size=batch,epochs=epoch,verbose=2,validation_data=(x_test,y_test)) #, callbacks=[checkpoint]"],"execution_count":0,"outputs":[{"output_type":"stream","text":["Train on 840000 samples, validate on 360000 samples\n","Epoch 1/50\n"," - 31s - loss: 1.7859 - acc: 0.2949 - val_loss: 1.4997 - val_acc: 0.4012\n","Epoch 2/50\n"," - 30s - loss: 1.4093 - acc: 0.4335 - val_loss: 1.3570 - val_acc: 0.4377\n","Epoch 3/50\n"," - 30s - loss: 1.3055 - acc: 0.4677 - val_loss: 1.2802 - val_acc: 0.4735\n","Epoch 4/50\n"," - 30s - loss: 1.2597 - acc: 0.4822 - val_loss: 1.2360 - val_acc: 0.4898\n","Epoch 5/50\n"," - 30s - loss: 1.2212 - acc: 0.4965 - val_loss: 1.2057 - val_acc: 0.5016\n","Epoch 6/50\n"," - 30s - loss: 1.1931 - acc: 0.5082 - val_loss: 1.1686 - val_acc: 0.5199\n","Epoch 7/50\n"," - 30s - loss: 1.1761 - acc: 0.5142 - val_loss: 1.1925 - val_acc: 0.5107\n","Epoch 8/50\n"," - 30s - loss: 1.1661 - acc: 0.5169 - val_loss: 1.1769 - val_acc: 0.5146\n","Epoch 9/50\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"WKzLpXsyL1pl","colab_type":"code","colab":{}},"source":["import matplotlib.pyplot as plt"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"X3kyvRUFNB54","colab_type":"code","outputId":"cd1ebf47-2f93-475c-ad2a-734a7cca4978","executionInfo":{"status":"ok","timestamp":1584329186015,"user_tz":240,"elapsed":1294874,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":299}},"source":["plt.figure()\n","plt.title('Training performance')\n","plt.plot(start_run.epoch, start_run.history['acc'], label='train_acc')\n","plt.plot(start_run.epoch, start_run.history['val_acc'], label='val_acc')\n","plt.legend()"],"execution_count":14,"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{"tags":[]},"execution_count":14},{"output_type":"display_data","data":{"image/png":"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\nuP8Hh64w39H/VS0AAAAASUVORK5CYII=\n","text/plain":["
"]},"metadata":{"tags":[]}}]},{"cell_type":"code","metadata":{"id":"BbVZXOmokki6","colab_type":"code","outputId":"283edb41-ab30-4a55-afe6-5bd10db63c74","executionInfo":{"status":"ok","timestamp":1584329186016,"user_tz":240,"elapsed":1294857,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":299}},"source":["plt.figure()\n","plt.title('Training performance')\n","plt.plot(start_run.epoch, start_run.history['loss'], label='train_loss')\n","plt.plot(start_run.epoch, start_run.history['val_loss'], label='val_loss')\n","plt.legend()"],"execution_count":15,"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{"tags":[]},"execution_count":15},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"tags":[]}}]},{"cell_type":"code","metadata":{"id":"Y7hQtSQT1fdH","colab_type":"code","colab":{}},"source":["from sklearn.metrics import confusion_matrix\n","model.load_weights(\"/content/gdrive/My Drive/Colab Notebooks/CNN_weights.best.hdf5\")\n"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"klBb4ZMN9kIn","colab_type":"code","outputId":"12c94b70-2b1f-4d26-b892-8e4e73f4d322","executionInfo":{"status":"ok","timestamp":1584333717325,"user_tz":240,"elapsed":4801,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":35}},"source":["batch = 1024\n","y_pred = model.predict(x_test,batch)\n","score = model.evaluate(x_test, y_test, verbose=0, batch_size=batch)\n","print(score)"],"execution_count":32,"outputs":[{"output_type":"stream","text":["[1.0172146994267486, 0.5721]\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"ce3fVQg8BNLD","colab_type":"code","colab":{}},"source":["\n","y_pred_label = model.predict_classes(x_test,batch)\n","y_test_label = np.argmax(y_test,axis=1)\n","\n","cm = confusion_matrix(y_test_label,y_pred_label, normalize= 'true')\n"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"IyJ8ldmB1v-L","colab_type":"code","colab":{}},"source":["from mlxtend.plotting import plot_confusion_matrix\n","cm = confusion_matrix(y_test_label,y_pred_label)\n","fg, ax = plot_confusion_matrix(cm,colorbar=True,\n"," show_absolute=False,\n"," show_normed=True)\n","\n","\n","ax.set_xticks(np.arange(len(modulation)))\n","ax.set_xticklabels(modulation, rotation = 45)\n","ax.set_title(\"CNN Confusion Matrix\")\n","ax.set_yticks(np.arange(len(modulation)))\n","ax.set_yticklabels(modulation)\n","\n","fg.set_size_inches(16.5, 8.5, forward=True)\n"],"execution_count":0,"outputs":[]}]} -------------------------------------------------------------------------------- /CNN model/README: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # RNN approach for Radio Frequency Signal Classification 2 | 3 | 4 | **Abstract** 5 | 6 | _A comparison of a Convolutional Neural Network and a Recurrent Neural Network was done to characterize Radio Frequency signal classifications for varying Signal-to-Noise-Ratios. The results show that a slight improvement can be achieved using a RNN model, but the reduction of hyperparameters was about 90% when compared to the CNN model._ 7 | 8 | ## 1.Introduction 9 | 10 | The inspiration for this project is to implement Deep Learning algorithms into non-typical domains. We've seen Convolutional Neural Networks and Recurrent Neural Networks have been extensively used in image classification and natural language processing. But how about signal processing domain? There's been worked done for Radio Frequency (RF) modulation classification [1]. Their focus was to create a matched filter Deep learning model capable of extracting features and testing it against signals with varying noise levels. This translate to the term Signal-To-Noise-Ratio (SNR), which is ratio of the desired signal vs the embedded noise. 11 | 12 | ## 1.1.Radar Systems 13 | 14 | Radars transmit RF pulsed signal with a carrier frequency and at a short interval. The signal then reflects off the desired targets and is then received by the radar. The received signal is embedded in noise. To extract the desired signal, the received signal goes through a matched filter, which maximizes SNR and mitigates the noise level. A well-known matched filter in radar systems is called pulse compression [5]. 15 | 16 | ## 1. Convolutional Neural Network 17 | 18 | CNN architectures have been extensively used in image classification and natural language processing [1]. However, there may be other applications outside of these domains. In this project, CNN architectures are used to extract features from I/Q datasets. As a result, this model would then be tested against varying SNR levels, meaning a variation of noise levels across the data. The goal of the model is to identify, with a high accuracy, the top-1 modulation label. 19 | 20 | The CNN architecture used for this project was inspired by this paper [1]. However, there were changes to the architecture structure and a decrease in the number of filters, as well as, the number Fully Connected hidden layers to minimize the number of hyperparameters. As a result, my CNN architecture has half the hyperparameters than the original architecture and shows an improvement on difficult modulation labels, which will be discussed later. 21 | 22 | ## 1.2.Long-Short Term Memory 23 | 24 | LSTM is a kind of Recurrent Neural Network that are used to remember long-term dependencies [4]. As oppose to RNN, which are also used to remember dependencies, but up to a certain point. They have been used for a large variety problem, especially in natural language processing. In this case, this type of layer will strategically be inserted between a cascaded CNN architecture and a Fully Connected Network (FC) architecture. 25 | 26 | This type of architecture is referred to as Convolutional, Long Short-Term Memory, Fully Connected Deep Neural Networks (CLDNN) [4]. Which has been shown to improve performance by passing CNN short term features along with long term features of a cascaded CNN into the LSTM. Then passing the LSTM output into an FC to improve output predictions [4]. 27 | 28 | A CNN model and CLDNN model were put on to test against 10 RF signal classification labels. The goal is to transform the CNN model into CLDNN model and compare results. 29 | 30 | ## 2.Results 31 | 32 | The following results are shown in 2 sub-sections. Each sub-section shows the results for a 70/30 data split. 33 | 34 | ## 2.1.CNN model 35 | 36 | The following plots show the loss values for each epoch and the confusion matrix containing the probability values for each classification label: 37 | 38 | ![CNN_conf_2](https://user-images.githubusercontent.com/61941555/80054311-df328600-84ec-11ea-8145-6d266f2b66c0.png) 39 | 40 | Fig1: CNN Model 41 | 42 | 43 | 44 | 45 | ## 2.2.CLDNN model 46 | 47 | ![LSTM_confusion](https://user-images.githubusercontent.com/61941555/80054451-48b29480-84ed-11ea-8fb3-01e66f1ab8e8.png) 48 | 49 | Fig. 2: CLDNN Model 50 | 51 | 52 | ## 3.Discussion 53 | 54 | The CNN model used for this project was influenced by the model used in this paper [1]. However, changes were made to the number of filters, filter sizes and hidden units for personal understanding. Since the data is relatively simple, if you plot the I/Q data it shows dots on a spatial map. The initial thought was to start with a small number of filters, since the complexity of the data was not of the same level as an image. However, the number of filters were then increased to improve validation loss. The CNN model was designed with the first layer having 64 filters, next layer having 80 filters, then passing the output of the CNN layer into a FC layer with 128 neurons and a second FC layer with 10 neurons. 55 | 56 | The filter sizes for each CNN layer were chosen to be have a width of 3. This was done to extract as much feature as possible without increasing the number hyperparameters. Additionally, the height of the filters was designed to be larger in the initial CNN layer and then smaller in the next layer. The original paper used the same filter size, but the larger filter was applied to the second CNN layer. The idea was to obtain simultaneous features from I and Q channels. As shown in original paper [1], there were more noticeable features in the weights from the (2x3) than from the (1x3) filter. Which led to use a (2x3) filter size at the beginning instead of a (1x3) filter size. 57 | 58 | Multiple CNN models were tested against the data, most of the results were giving an overfit or underfit effect. Regularization, such as Dropout, was implemented into the model. However, other methods of regularization were used, such as Batch Normalization, but no improvements were found. Even using a combination of Dropout and Batch Norm was not effective in preventing overfitting or improving validation accuracy. Another issue encountered with Dropout was that it was causing the testing loss to always be lower than training loss. To mitigate this result, Dropout was removed from the FC layers. 59 | 60 | Most of the layers used a rectified linear (ReLu) activation function except for the output layer which used a Softmax function. Finally, a categorical cross entropy along with Adam optimizer was used to train the data. The use of cross entropy function is used for single label categorization, which is the goal of this project. Additionally, Adam was used over other optimizations since it outperforms in this type of dataset [1]. 61 | 62 | The CLDNN model was designed based on the architecture explained in this paper [4]. The authors show CLDNN architecture that has two CNN layers, followed by two LSTM layers and two FC layers. Using inspiration from this model. The designed of the new model used two CNN layers, like the CNN model, followed by a LSTM layer and two FC layers. If you think about it from high-level point of view, the CLDNN model is just the CNN model with an LSTM added between the CNN and FC layers. 63 | 64 | However, a slightly different designed was used for the CNN layers. The two layers are the same in every aspect, meaning number of filters and filter size are the same. This was done for both layers to have the same output size. The filter size of the CNN layers was increased to (1x5) since it shown to have a slightly better improvement in the validation loss. On the other hand, the number of filters were used based on the first CNN layer from the CNN model. Which means that both CNN layers had 64 filters and (1x5) filter size. Likewise, zero padding was used to maintain each output size the same as the 2x128 input size of the dataset. This was done to maintain features even at the edges. 65 | 66 | The next layer is what the authors considered a linear layer, or dimension reduction [4]. Concatenation was performed to combine the extracted features of both CNN into one output. This was done by only concatenating the data going across the width. Height and Channels were kept the same to have a similar dimensionality to the dataset. Furthermore, there needs to be a dimensionality reduction in order to pass it on to the LSTM layer. To do this, the output of the concatenated data was reshaped to have 2 dimensions. They found [4] that dimensionality reduction does not impact accuracy. 67 | 68 | The LSTM layer was kept simple and without adding internal regularization. The number of units and the number of timesteps were kept the same value for simplicity. The value for these two parameters were the same value as the number of filters (64) used in the CNN model. Keeping everything same size was beneficial when training the model and preventing overfitting. 69 | 70 | The output of the LSTM layer was passed to 2 FC layers, which were discussed earlier. The total number of parameters was reduced by around 90%. Moreover, there was a slight improvement in validation accuracy, surpassing both the original model and the CNN model. While the original model was able to obtain a validation accuracy of 57.94%, CLDNN was able to obtain 58.03% validation accuracy. This improvement is rather miniscule, around 0.13% higher validation accuracy. The surprising part was how large of a reduction was done using CLDNN approach. The CLDNN model only used around 100,000 hyperparameters and was able to slightly outperform the original CNN model with 2 million hyperparameters [3] and the CNN model with 1.2 million. 71 | 72 | The results show how both models have low validation loss, but it seems that CNN model is prone to overfit the data if it ran for more than 50 epochs. On the other hand, the CLDNN model seems to be stable when going over 50 epochs. A test was done to see if the model would start to overfit given a high number of epochs. It turns out, that it never overfitted even after reaching 150 epochs. 73 | 74 | From the results shown, there's a slight improvement in accuracy on some of the modulation labels, but a slight lower accuracy on others. An interesting finding is how CNN has a high accuracy in QAM16, as well as, a high confusion with QAM64, but CLDNN is the opposite. Later experimentation showed that using large filters extracted features that improved the accuracy for QAM16. 75 | 76 | Further experimentation is needed to improve the CLDNN model. Since it seems to show that maybe adding depth, instead of increasing the number of hyperparameters, can improve performance. As a result, reduce the size of the model, but not its complexity. 77 | 78 | ## References 79 | 80 | 1. T. J. O'Shea, J Corgan and T. C. Clancy. Convolutional Radio Modulation Recognition Networks. [https://arxiv.org/pdf/1602.04105.pdf](https://arxiv.org/pdf/1602.04105.pdf). 10 Jun 2016 81 | 82 | 1. T. J. O'Shea, Timothy J and West. GNU radio dataset. [https://www.deepsig.io/datasets](https://www.deepsig.io/datasets). 2016 83 | 84 | 1. T. J. O'Shea, Timothy J and West. Modulation Recognition Example: RML2016.10a Dataset + VT-CNN2 Mod-Rec Network. [https://github.com/radioML/examples/blob/master/modulation\_recognition/RML2016.10a\_VTCNN2\_example.ipynb](https://github.com/radioML/examples/blob/master/modulation_recognition/RML2016.10a_VTCNN2_example.ipynb). 2016 85 | 86 | 1. T. N. Sainath, O, Vinyals, A. Senior, H. Sak. Convolutional, Long Short-Term Memory, Fully Connected Deep Neural Networks. [https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43455.pdf](https://static.googleusercontent.com/media/research.google.com/en/pubs/archive/43455.pdf) . 87 | 88 | 1. C. Wolf. Intrapulse Modulation and Pulse Compression. [https://www.radartutorial.eu/08.transmitters/Intrapulse%20Modulation.en.html](https://www.radartutorial.eu/08.transmitters/Intrapulse%20Modulation.en.html). 89 | ## Table 90 | | Model | Training Loss | Training Accuracy | Validation Loss | Validation Accuracy | Notes | 91 | | --- | --- | --- | --- | --- | --- | 92 | | CNN+FC (1) | 1.0817 | 0.5550 | 1.0944 | 0.5405 | CNN layers were 32 and 64.Filter size was (1x3) on every layerFC layers were 128 and 10 | 93 | | CNN+FC (2) | 1.0237 | 0.5781 | 1.0717 | 0.5548 | CNN layers were 32 and 64.Filter sizes were (2x3) and (1x3) respectively.FC layers were 128 and 10. | 94 | | **CNN+FC (3)** | **0.9970** | **0.5912** | **1.0175** | **0.5794** | **CNN layers were 64 and 80.**** Filter sizes were (2x3) and (1x3) respectively. ****FC layers were 128 and 10.** | 95 | | CNN+FC (4) | 0.2846 | 0.8810 | 4.9071 | 0.5241 | Same model as before, only using Batchnorm for regularization. | 96 | | CNN+FC (5) | 1.0226 | 0.5783 | 1.6122 | 0.4628 | Same model as before, used Dropout and Batchnorm for regularization. | 97 | | **CNN+LSTM+FC (1)** | **1.007** | **0.5854** | **1.0179** | **0.5807** | **2 CNN layers and 1 LSTM layer have 64 filters/units.**** Filter size was (1x5) on every layer. ****FC layers were 128 and 10.**** Performance was not saved.** | 98 | | CNN+LSTM+FC (2) | 1.1975 | 0.5043 | 1.1425 | 0.5362 | 2 CNN layers and 1 LSTM layer have 64 filters/units.Filter size was (1x5) on every layer.Dropout on each input of the layersFC layers were 128 and 10.Performance was not saved. | 99 | | CNN+LSTM+FC (3) | 1.0255 | 0.5782 | 1.0453 | 0.5682 | 3 CNN layers and 1 LSTM layer have 64 filters/units.Filter size was (1x3) on every layer.FC layers were 128 and 10.Performance was not saved. | 100 | 101 | -------------------------------------------------------------------------------- /Recurrent Model/LSTM model.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"LSTM.ipynb","provenance":[],"collapsed_sections":[],"toc_visible":true,"authorship_tag":"ABX9TyP/HuxWsc2ayxbFEQ4E83sr"},"kernelspec":{"name":"python3","display_name":"Python 3"},"accelerator":"GPU"},"cells":[{"cell_type":"code","metadata":{"id":"48cz895zXs0I","colab_type":"code","outputId":"2a7fd39f-1263-461f-b91d-7ef95c81d715","executionInfo":{"status":"ok","timestamp":1584319317057,"user_tz":240,"elapsed":1584,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":99}},"source":["import os \n","import sys\n","os.environ[\"KERAS_BACKEND\"] = \"tensorflow\"\n","import numpy as np\n","import matplotlib.pyplot as plt\n","import keras\n","import pickle as pk\n","from keras.models import Sequential,Model\n","from keras.layers import Reshape, Dropout, Dense, Activation, BatchNormalization,Input,CuDNNLSTM\n","from keras.layers import Conv2D, ZeroPadding2D,GlobalAveragePooling2D,Flatten,LSTM,Concatenate\n","from keras.utils import to_categorical\n","from keras.callbacks import ModelCheckpoint\n","import pdb\n","\n","\n"],"execution_count":1,"outputs":[{"output_type":"stream","text":["Using TensorFlow backend.\n"],"name":"stderr"},{"output_type":"display_data","data":{"text/html":["

\n","The default version of TensorFlow in Colab will soon switch to TensorFlow 2.x.
\n","We recommend you upgrade now \n","or ensure your notebook will continue to use TensorFlow 1.x via the %tensorflow_version 1.x magic:\n","more info.

\n"],"text/plain":[""]},"metadata":{"tags":[]}}]},{"cell_type":"code","metadata":{"id":"HugVKMeIj2ay","colab_type":"code","outputId":"e39b2dbb-ea97-4b6d-85d6-3f33749e59b8","executionInfo":{"status":"ok","timestamp":1584319347307,"user_tz":240,"elapsed":19026,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":124}},"source":["from google.colab import drive\n","drive.mount('/content/gdrive')\n"],"execution_count":2,"outputs":[{"output_type":"stream","text":["Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&response_type=code&scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly\n","\n","Enter your authorization code:\n","··········\n","Mounted at /content/gdrive\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"-OhV7ypyj4Cj","colab_type":"code","outputId":"4e98daf5-b73d-497d-90d1-d2d80becf133","executionInfo":{"status":"ok","timestamp":1584319416401,"user_tz":240,"elapsed":71556,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":107}},"source":["\n","iq_data = pk.load(open('/content/gdrive/My Drive/Colab Notebooks/RML2016.10b.dat','rb'),encoding ='latin1')\n","\n","\n","print('Dataset imported')\n","##### from radioML https://github.com/radioML/examples/blob/master/modulation_recognition/RML2016.10a_VTCNN2_example.ipynb\n","\n","snrs,modulation = map(lambda j: sorted(list(set(map(lambda x: x[j], iq_data.keys())))), [1,0])\n","\n","\n","print('Modulation labels: {}'.format(modulation))\n","print('SNR values for each modulation: {}'.format(snrs))\n","\n","x_data = []\n","label = []\n","for m in modulation:\n"," for snr in snrs:\n"," x_data.append(iq_data[(m,snr)])\n"," for l in np.arange(iq_data[(m,snr)].shape[0]):\n"," label.append((m,snr))\n","\n","x_stacked = np.vstack(x_data)\n","#####\n","\n","print('Dataset shape: {}'.format(x_stacked.shape))\n","\n"],"execution_count":3,"outputs":[{"output_type":"stream","text":["Dataset imported\n","Modulation labels: ['8PSK', 'AM-DSB', 'BPSK', 'CPFSK', 'GFSK', 'PAM4', 'QAM16', 'QAM64', 'QPSK', 'WBFM']\n","SNR values for each modulation: [-20, -18, -16, -14, -12, -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18]\n","Dataset shape: (1200000, 2, 128)\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"JRNPBKzOj62g","colab_type":"code","colab":{}},"source":["\n","np.random.seed(200)\n","N_samples = x_stacked.shape[0]\n","\n","N_train = int(N_samples*0.7)\n","\n","train_Idx = np.random.choice(np.arange(N_samples),size=N_train,replace=False)\n","\n","total_N = np.arange(N_samples)\n","\n","test_Idx = list(set(total_N)-set(train_Idx))\n","\n","x_train = x_stacked[train_Idx]\n","x_test = x_stacked[test_Idx]"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"Fx7mvZgukMkI","colab_type":"code","colab":{}},"source":["input_encode = lambda x: modulation.index(label[x][0])\n","y_list_train= np.array(list(map(input_encode,train_Idx)),dtype='float32')\n","y_list_test = np.array(list(map(input_encode,test_Idx)),dtype='float32')\n","y_train = to_categorical(y_list_train,len(modulation))\n","y_test= to_categorical(y_list_test,len(modulation))\n"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"DWWLcyuMkbmf","colab_type":"code","outputId":"5dab6a6f-a2ba-404c-f096-c890d3786343","executionInfo":{"status":"ok","timestamp":1584319419358,"user_tz":240,"elapsed":1067,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":69}},"source":["print('Number of Samples, height, width')\n","print(x_train.shape)\n","\n","N,H,W = x_train.shape\n","N_test = x_test.shape[0]\n","C = 1\n","\n","x_train = x_train.reshape(N,H,W,C)\n","x_test = x_test.reshape(N_test,H,W,C)\n","print(x_train.shape,x_test.shape)\n","input_sample = list(x_train.shape[1:])\n","\n"],"execution_count":7,"outputs":[{"output_type":"stream","text":["Number of Samples, height, width\n","(840000, 2, 128)\n","(840000, 2, 128, 1) (360000, 2, 128, 1)\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"342vC2jxkfbN","colab_type":"code","outputId":"2d7676e3-588c-4b9c-910d-cb4afdecf7a9","executionInfo":{"status":"ok","timestamp":1584319419612,"user_tz":240,"elapsed":1289,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":283}},"source":["plt.plot(x_train[0,0,:],x_train[0,1,:],'.')"],"execution_count":9,"outputs":[{"output_type":"execute_result","data":{"text/plain":["[]"]},"metadata":{"tags":[]},"execution_count":9},{"output_type":"display_data","data":{"image/png":"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\nxNZ+RgAAAABJRU5ErkJggg==\n","text/plain":["
"]},"metadata":{"tags":[]}}]},{"cell_type":"code","metadata":{"id":"VzZkIRHs26DJ","colab_type":"code","outputId":"74ee8b1f-86bb-4667-8289-f914af4a2fe4","executionInfo":{"status":"ok","timestamp":1584319422049,"user_tz":240,"elapsed":3701,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":869}},"source":["\n","input_dim =Input(shape=input_sample,name = 'LSTM_architecture')\n","zero_pad_1 = ZeroPadding2D(padding =(0,2),data_format='channels_last')(input_dim)\n","conv_1 = Conv2D(64,(1,5),activation= 'relu',data_format='channels_last')(zero_pad_1)\n","drop_1 = Dropout(0.2)(conv_1)\n","zero_pad_2 = ZeroPadding2D((0,2),data_format='channels_last')(drop_1)\n","conv_2 = Conv2D(64,(1,5),activation= 'relu',data_format='channels_last')(zero_pad_2)\n","drop_2 = Dropout(0.2)(conv_2)\n","merge = Concatenate(axis=2)([drop_1,drop_2])\n","merge_size = list(np.shape(merge))\n","_,concat_h,concat_w,units = np.shape(merge)\n","dimensions = int(concat_h)*int(concat_w)\n","units = int(units)\n","resh_model = Reshape((units,dimensions))(merge)\n","lstm = CuDNNLSTM(64)(resh_model)\n","fc_1 = Dense(128,activation='relu')(lstm)\n","out_layer =Dense(len(modulation),activation='softmax')(fc_1)\n","model = Model(inputs=input_dim, outputs=out_layer)\n","model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])\n","model.summary()"],"execution_count":10,"outputs":[{"output_type":"stream","text":["WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:541: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.\n","\n","WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:66: The name tf.get_default_graph is deprecated. Please use tf.compat.v1.get_default_graph instead.\n","\n","WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:4432: The name tf.random_uniform is deprecated. Please use tf.random.uniform instead.\n","\n","WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:148: The name tf.placeholder_with_default is deprecated. Please use tf.compat.v1.placeholder_with_default instead.\n","\n","WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:3733: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.\n","Instructions for updating:\n","Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.\n","WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/optimizers.py:793: The name tf.train.Optimizer is deprecated. Please use tf.compat.v1.train.Optimizer instead.\n","\n","WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:3576: The name tf.log is deprecated. Please use tf.math.log instead.\n","\n","Model: \"model_1\"\n","__________________________________________________________________________________________________\n","Layer (type) Output Shape Param # Connected to \n","==================================================================================================\n","LSTM_architecture (InputLayer) (None, 2, 128, 1) 0 \n","__________________________________________________________________________________________________\n","zero_padding2d_1 (ZeroPadding2D (None, 2, 132, 1) 0 LSTM_architecture[0][0] \n","__________________________________________________________________________________________________\n","conv2d_1 (Conv2D) (None, 2, 128, 64) 384 zero_padding2d_1[0][0] \n","__________________________________________________________________________________________________\n","dropout_1 (Dropout) (None, 2, 128, 64) 0 conv2d_1[0][0] \n","__________________________________________________________________________________________________\n","zero_padding2d_2 (ZeroPadding2D (None, 2, 132, 64) 0 dropout_1[0][0] \n","__________________________________________________________________________________________________\n","conv2d_2 (Conv2D) (None, 2, 128, 64) 20544 zero_padding2d_2[0][0] \n","__________________________________________________________________________________________________\n","dropout_2 (Dropout) (None, 2, 128, 64) 0 conv2d_2[0][0] \n","__________________________________________________________________________________________________\n","concatenate_1 (Concatenate) (None, 2, 256, 64) 0 dropout_1[0][0] \n"," dropout_2[0][0] \n","__________________________________________________________________________________________________\n","reshape_1 (Reshape) (None, 64, 512) 0 concatenate_1[0][0] \n","__________________________________________________________________________________________________\n","cu_dnnlstm_1 (CuDNNLSTM) (None, 64) 147968 reshape_1[0][0] \n","__________________________________________________________________________________________________\n","dense_1 (Dense) (None, 128) 8320 cu_dnnlstm_1[0][0] \n","__________________________________________________________________________________________________\n","dense_2 (Dense) (None, 10) 1290 dense_1[0][0] \n","==================================================================================================\n","Total params: 178,506\n","Trainable params: 178,506\n","Non-trainable params: 0\n","__________________________________________________________________________________________________\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"641aF78glIv6","colab_type":"code","outputId":"13627441-50ff-425b-e2b2-4b5014e87b1f","executionInfo":{"status":"ok","timestamp":1584324037577,"user_tz":240,"elapsed":113289,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}},"colab":{"base_uri":"https://localhost:8080/","height":1000}},"source":["epoch = 55\n","batch = 1024\n","checkpoint = ModelCheckpoint(\"/content/gdrive/My Drive/Colab Notebooks/LSTM_weights.best.hdf5\", monitor='loss',\n"," save_best_only=True, mode='auto')\n","\n","start_run =model.fit(x_train,y_train,batch_size=batch,epochs=epoch,verbose=2,validation_data=(x_test,y_test), callbacks=[checkpoint])"],"execution_count":11,"outputs":[{"output_type":"stream","text":["WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/ops/math_grad.py:1424: where (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.\n","Instructions for updating:\n","Use tf.where in 2.0, which has the same broadcast rule as np.where\n","WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:1033: The name tf.assign_add is deprecated. Please use tf.compat.v1.assign_add instead.\n","\n","WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:1020: The name tf.assign is deprecated. Please use tf.compat.v1.assign instead.\n","\n","WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:3005: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.\n","\n","Train on 840000 samples, validate on 360000 samples\n","Epoch 1/55\n","WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:190: The name tf.get_default_session is deprecated. Please use tf.compat.v1.get_default_session instead.\n","\n","WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:197: The name tf.ConfigProto is deprecated. Please use tf.compat.v1.ConfigProto instead.\n","\n","WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:207: The name tf.global_variables is deprecated. Please use tf.compat.v1.global_variables instead.\n","\n","WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:216: The name tf.is_variable_initialized is deprecated. Please use tf.compat.v1.is_variable_initialized instead.\n","\n","WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:223: The name tf.variables_initializer is deprecated. Please use tf.compat.v1.variables_initializer instead.\n","\n"," - 97s - loss: 1.6644 - acc: 0.3269 - val_loss: 1.4035 - val_acc: 0.4200\n","Epoch 2/55\n"," - 82s - loss: 1.3067 - acc: 0.4643 - val_loss: 1.2495 - val_acc: 0.4855\n","Epoch 3/55\n"," - 82s - loss: 1.2364 - acc: 0.4913 - val_loss: 1.2383 - val_acc: 0.4948\n","Epoch 4/55\n"," - 83s - loss: 1.2050 - acc: 0.5042 - val_loss: 1.1728 - val_acc: 0.5188\n","Epoch 5/55\n"," - 83s - loss: 1.1863 - acc: 0.5122 - val_loss: 1.1797 - val_acc: 0.5138\n","Epoch 6/55\n"," - 83s - loss: 1.1657 - acc: 0.5202 - val_loss: 1.1433 - val_acc: 0.5278\n","Epoch 7/55\n"," - 83s - loss: 1.1527 - acc: 0.5248 - val_loss: 1.1311 - val_acc: 0.5332\n","Epoch 8/55\n"," - 83s - loss: 1.1412 - acc: 0.5295 - val_loss: 1.1428 - val_acc: 0.5254\n","Epoch 9/55\n"," - 83s - loss: 1.1327 - acc: 0.5329 - val_loss: 1.1435 - val_acc: 0.5289\n","Epoch 10/55\n"," - 83s - loss: 1.1264 - acc: 0.5355 - val_loss: 1.1137 - val_acc: 0.5405\n","Epoch 11/55\n"," - 83s - loss: 1.1195 - acc: 0.5384 - val_loss: 1.1286 - val_acc: 0.5344\n","Epoch 12/55\n"," - 83s - loss: 1.1147 - acc: 0.5402 - val_loss: 1.1001 - val_acc: 0.5458\n","Epoch 13/55\n"," - 83s - loss: 1.1099 - acc: 0.5427 - val_loss: 1.1407 - val_acc: 0.5300\n","Epoch 14/55\n"," - 83s - loss: 1.1029 - acc: 0.5453 - val_loss: 1.0963 - val_acc: 0.5470\n","Epoch 15/55\n"," - 83s - loss: 1.0956 - acc: 0.5489 - val_loss: 1.0874 - val_acc: 0.5519\n","Epoch 16/55\n"," - 83s - loss: 1.0910 - acc: 0.5511 - val_loss: 1.0899 - val_acc: 0.5529\n","Epoch 17/55\n"," - 83s - loss: 1.0858 - acc: 0.5536 - val_loss: 1.0892 - val_acc: 0.5525\n","Epoch 18/55\n"," - 83s - loss: 1.0807 - acc: 0.5557 - val_loss: 1.0785 - val_acc: 0.5540\n","Epoch 19/55\n"," - 83s - loss: 1.0768 - acc: 0.5574 - val_loss: 1.0783 - val_acc: 0.5574\n","Epoch 20/55\n"," - 83s - loss: 1.0711 - acc: 0.5594 - val_loss: 1.0826 - val_acc: 0.5544\n","Epoch 21/55\n"," - 83s - loss: 1.0682 - acc: 0.5605 - val_loss: 1.0603 - val_acc: 0.5641\n","Epoch 22/55\n"," - 83s - loss: 1.0647 - acc: 0.5624 - val_loss: 1.0580 - val_acc: 0.5652\n","Epoch 23/55\n"," - 83s - loss: 1.0599 - acc: 0.5643 - val_loss: 1.0772 - val_acc: 0.5575\n","Epoch 24/55\n"," - 83s - loss: 1.0581 - acc: 0.5644 - val_loss: 1.0550 - val_acc: 0.5651\n","Epoch 25/55\n"," - 83s - loss: 1.0526 - acc: 0.5666 - val_loss: 1.0596 - val_acc: 0.5644\n","Epoch 26/55\n"," - 83s - loss: 1.0510 - acc: 0.5676 - val_loss: 1.0491 - val_acc: 0.5681\n","Epoch 27/55\n"," - 83s - loss: 1.0489 - acc: 0.5683 - val_loss: 1.0568 - val_acc: 0.5643\n","Epoch 28/55\n"," - 83s - loss: 1.0460 - acc: 0.5695 - val_loss: 1.0534 - val_acc: 0.5664\n","Epoch 29/55\n"," - 83s - loss: 1.0433 - acc: 0.5708 - val_loss: 1.0388 - val_acc: 0.5717\n","Epoch 30/55\n"," - 83s - loss: 1.0420 - acc: 0.5717 - val_loss: 1.0497 - val_acc: 0.5661\n","Epoch 31/55\n"," - 83s - loss: 1.0398 - acc: 0.5723 - val_loss: 1.0371 - val_acc: 0.5730\n","Epoch 32/55\n"," - 83s - loss: 1.0378 - acc: 0.5730 - val_loss: 1.0410 - val_acc: 0.5716\n","Epoch 33/55\n"," - 83s - loss: 1.0353 - acc: 0.5738 - val_loss: 1.0416 - val_acc: 0.5713\n","Epoch 34/55\n"," - 83s - loss: 1.0343 - acc: 0.5744 - val_loss: 1.0345 - val_acc: 0.5731\n","Epoch 35/55\n"," - 83s - loss: 1.0318 - acc: 0.5754 - val_loss: 1.0371 - val_acc: 0.5724\n","Epoch 36/55\n"," - 83s - loss: 1.0306 - acc: 0.5757 - val_loss: 1.0355 - val_acc: 0.5732\n","Epoch 37/55\n"," - 83s - loss: 1.0294 - acc: 0.5764 - val_loss: 1.0396 - val_acc: 0.5715\n","Epoch 38/55\n"," - 83s - loss: 1.0285 - acc: 0.5767 - val_loss: 1.0312 - val_acc: 0.5746\n","Epoch 39/55\n"," - 83s - loss: 1.0258 - acc: 0.5778 - val_loss: 1.0338 - val_acc: 0.5729\n","Epoch 40/55\n"," - 83s - loss: 1.0250 - acc: 0.5784 - val_loss: 1.0293 - val_acc: 0.5756\n","Epoch 41/55\n"," - 83s - loss: 1.0230 - acc: 0.5791 - val_loss: 1.0291 - val_acc: 0.5754\n","Epoch 42/55\n"," - 83s - loss: 1.0225 - acc: 0.5794 - val_loss: 1.0270 - val_acc: 0.5764\n","Epoch 43/55\n"," - 83s - loss: 1.0205 - acc: 0.5803 - val_loss: 1.0309 - val_acc: 0.5742\n","Epoch 44/55\n"," - 83s - loss: 1.0190 - acc: 0.5806 - val_loss: 1.0399 - val_acc: 0.5687\n","Epoch 45/55\n"," - 83s - loss: 1.0188 - acc: 0.5811 - val_loss: 1.0278 - val_acc: 0.5761\n","Epoch 46/55\n"," - 83s - loss: 1.0173 - acc: 0.5815 - val_loss: 1.0220 - val_acc: 0.5787\n","Epoch 47/55\n"," - 83s - loss: 1.0166 - acc: 0.5821 - val_loss: 1.0289 - val_acc: 0.5766\n","Epoch 48/55\n"," - 83s - loss: 1.0156 - acc: 0.5824 - val_loss: 1.0259 - val_acc: 0.5774\n","Epoch 49/55\n"," - 83s - loss: 1.0144 - acc: 0.5827 - val_loss: 1.0331 - val_acc: 0.5735\n","Epoch 50/55\n"," - 83s - loss: 1.0133 - acc: 0.5829 - val_loss: 1.0211 - val_acc: 0.5791\n","Epoch 51/55\n"," - 83s - loss: 1.0114 - acc: 0.5841 - val_loss: 1.0324 - val_acc: 0.5760\n","Epoch 52/55\n"," - 83s - loss: 1.0107 - acc: 0.5840 - val_loss: 1.0236 - val_acc: 0.5775\n","Epoch 53/55\n"," - 83s - loss: 1.0107 - acc: 0.5839 - val_loss: 1.0248 - val_acc: 0.5779\n","Epoch 54/55\n"," - 83s - loss: 1.0095 - acc: 0.5848 - val_loss: 1.0281 - val_acc: 0.5770\n","Epoch 55/55\n"," - 83s - loss: 1.0077 - acc: 0.5854 - val_loss: 1.0179 - val_acc: 0.5807\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"ngWuJiASlJyx","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":563},"outputId":"4fdc0379-bad3-479a-96ce-d63df7773b24","executionInfo":{"status":"ok","timestamp":1584324088688,"user_tz":240,"elapsed":652,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}}},"source":["plt.figure()\n","plt.title('Training performance')\n","plt.plot(start_run.epoch, start_run.history['acc'], label='train_acc')\n","plt.plot(start_run.epoch, start_run.history['val_acc'], label='val_acc')\n","plt.legend()\n","\n","plt.figure()\n","plt.title('Training performance')\n","plt.plot(start_run.epoch, start_run.history['loss'], label='train_loss')\n","plt.plot(start_run.epoch, start_run.history['val_loss'], label='val_loss')\n","plt.legend()"],"execution_count":12,"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{"tags":[]},"execution_count":12},{"output_type":"display_data","data":{"image/png":"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\nTkSuQmCC\n","text/plain":["
"]},"metadata":{"tags":[]}},{"output_type":"display_data","data":{"image/png":"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\nCSMumD0HOg8AAAAASUVORK5CYII=\n","text/plain":["
"]},"metadata":{"tags":[]}}]},{"cell_type":"code","metadata":{"id":"q3ATc8UolVie","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":35},"outputId":"a8a86ee9-0ff4-436b-cb11-cf727fa0c486","executionInfo":{"status":"ok","timestamp":1584324104714,"user_tz":240,"elapsed":10777,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}}},"source":["from sklearn.metrics import confusion_matrix\n","batch = 1024\n","model.load_weights(\"/content/gdrive/My Drive/Colab Notebooks/LSTM_weights.best.hdf5\")\n","\n","score = model.evaluate(x_test, y_test, verbose=0, batch_size=batch)\n","print(score)\n"],"execution_count":13,"outputs":[{"output_type":"stream","text":["[1.0179379428393105, 0.5806861111111111]\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"NjBW3-Q1lXcL","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":549},"outputId":"a0ac42e4-4d3c-47b7-fcab-1d579dbbc056","executionInfo":{"status":"ok","timestamp":1584324124916,"user_tz":240,"elapsed":10862,"user":{"displayName":"GIOVANNI TOBAR","photoUrl":"","userId":"13329677774005093657"}}},"source":["y_pred = model.predict(x_test,batch)\n","y_pred_label = np.argmax(y_pred,axis=1)\n","y_test_label = np.argmax(y_test,axis=1)\n","\n","\n","cm = confusion_matrix(y_test_label,y_pred_label, normalize= 'true')\n","from mlxtend.plotting import plot_confusion_matrix\n","cm = confusion_matrix(y_test_label,y_pred_label)\n","fg, ax = plot_confusion_matrix(cm,colorbar=True,\n"," show_absolute=False,\n"," show_normed=True)\n","\n","\n","ax.set_xticks(np.arange(len(modulation)))\n","ax.set_xticklabels(modulation, rotation = 45)\n","\n","ax.set_yticks(np.arange(len(modulation)))\n","ax.set_yticklabels(modulation)\n","\n","fg.set_size_inches(16.5, 8.5, forward=True)\n"],"execution_count":14,"outputs":[{"output_type":"display_data","data":{"image/png":"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\nM+sA/wfgu1fKwKncvAAAAABJRU5ErkJggg==\n","text/plain":["
"]},"metadata":{"tags":[]}}]}]} -------------------------------------------------------------------------------- /Recurrent Model/README: -------------------------------------------------------------------------------- 1 | 2 | --------------------------------------------------------------------------------