This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Reference - https://github.com/jainammm/TableNet/blob/master/TableNet.ipynb | |
| class TableNet: | |
| @staticmethod | |
| def build_table_decoder(inputs, pool3, pool4): | |
| x = Conv2D(512, (1, 1), activation = 'relu', name='conv7_table')(inputs) | |
| x = UpSampling2D(size=(2, 2))(x) | |
| concatenated = Concatenate()([x, pool4]) | |
| # concatenated = concatenate([x, pool4]) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| tf_lite_converter = tf.lite.TFLiteConverter.from_keras_model(model) | |
| tf_lite_converter.optimizations = [tf.lite.Optimize.OPTIMIZE_FOR_SIZE] | |
| tflite_model = tf_lite_converter.convert() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def get_file_size(file_path): | |
| size = os.path.getsize(file_path) | |
| return size | |
| def convert_bytes(size, unit=None): | |
| if unit == "KB": | |
| return print('File size: ' + str(round(size / 1024, 3)) + ' Kilobytes') | |
| elif unit == "MB": | |
| return print('File size: ' + str(round(size / (1024 * 1024), 3)) + ' Megabytes') | |
| else: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def create_mask(pred_mask1, pred_mask2): | |
| """Reference - https://github.com/jainammm/TableNet/blob/master/TableNet.ipynb | |
| """ | |
| pred_mask1 = tf.argmax(pred_mask1, axis=-1) | |
| pred_mask1 = pred_mask1[..., tf.newaxis] | |
| pred_mask2 = tf.argmax(pred_mask2, axis=-1) | |
| pred_mask2 = pred_mask2[..., tf.newaxis] | |
| return pred_mask1[0], pred_mask2[0] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| resnet50 = tf.keras.applications.resnet50 | |
| conv_model = resnet50.ResNet50(weights='imagenet', include_top=False, input_shape=(228,228,3)) | |
| for layer in conv_model.layers: | |
| layer.trainable = False | |
| x = Conv2D(128, (1, 1), activation = 'relu', name='block6_conv1_table')(conv_model.output) | |
| x = Dropout(0.8, name='block6_dropout_1')(x) | |
| x = Conv2D(128, (1, 1), activation = 'relu', name='block6_conv2_table')(x) | |
| x = Dropout(0.8, name='block6_dropout_2')(x) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def fun_column(x,output): | |
| x = Conv2D(128, (1, 1), activation = 'relu', name='conv7_column')(x) | |
| x = Dropout(0.8, name='block7_dropout_1')(x) | |
| concatenated = Concatenate()([x,output]) | |
| concatenated = Concatenate()([concatenated,output]) | |
| x = UpSampling2D(size=(2, 2))(concatenated) | |
| x = UpSampling2D(size=(2, 2))(x) | |
| x = UpSampling2D(size=(2, 2))(x) | |
| x = UpSampling2D(size=(2, 2))(x) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def fun_table(x,output): | |
| x = Conv2D(128, (1, 1), activation = 'relu', name='conv7_table')(x) | |
| concatenated = Concatenate()([x, output]) | |
| concatenated = Concatenate()([concatenated, output]) | |
| x = UpSampling2D(size=(2, 2))(concatenated) | |
| x = UpSampling2D(size=(2, 2))(x) | |
| x = UpSampling2D(size=(2, 2))(x) | |
| x = UpSampling2D(size=(2, 2))(x) | |
| last = tf.keras.layers.Conv2DTranspose(3, 3, strides=2,padding='same', name='table_output') |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Model: "tablenet" | |
| __________________________________________________________________________________________________ | |
| Layer (type) Output Shape Param # Connected to | |
| ================================================================================================== | |
| input_7 (InputLayer) [(None, 228, 228, 3) 0 | |
| __________________________________________________________________________________________________ | |
| conv1_pad (ZeroPadding2D) (None, 234, 234, 3) 0 input_7[0][0] | |
| __________________________________________________________________________________________________ | |
| conv1_conv (Conv2D) (None, 114, 114, 64) 9472 conv1_pad[0][0] | |
| __________________________________________________________________________________________________ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def normalize_image(input_image): | |
| input_image = tf.cast(input_image, tf.float32) / 255.0 | |
| return input_image | |
| def decode_image(img): | |
| img = tf.image.decode_jpeg(img) | |
| return tf.image.resize(img, [img_height, img_width]) | |
| def decode_mask_image(img): | |
| img = tf.image.decode_jpeg(img, channels=1) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| destination_t = '\content\drive\MyDrive\cs2_table' | |
| destination_c = '\content\drive\MyDrive\cs2_col' | |
| for i in df_org['filename'].unique(): | |
| # for each unique file, we take the height,width,depth from dataframe | |
| file_width = int(df_org[df_org['filename']==i]['width'].unique()) | |
| file_height = int(df_org[df_org['filename']==i]['height'].unique()) | |
| # Creating an image array of dtype int32 |
NewerOlder