{"cells":[{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"import os\nimport gc\nimport cv2\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport pandas as pd\n\nfrom joblib import Parallel, delayed\n\nfrom tqdm.notebook import tqdm\n%matplotlib inline","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"!mkdir train\n!mkdir test","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train = pd.read_csv('../input/siim-isic-melanoma-classification/train.csv')\ntest  = pd.read_csv('../input/siim-isic-melanoma-classification/test.csv')\n\nraw= pd.concat( (train,test), sort=False )\nraw['sex'] = raw['sex'].fillna('na')\nraw['age_approx'] = raw['age_approx'].fillna(0)\nraw['anatom_site_general_challenge'] = raw['anatom_site_general_challenge'].fillna('na')\n\nraw['sex'] = pd.factorize( raw['sex'] )[0]\nraw['age_approx'] = pd.factorize( raw['age_approx'] )[0]\nraw['anatom_site_general_challenge'] = pd.factorize( raw['anatom_site_general_challenge'] )[0]\nraw['diagnosis'] = pd.factorize( raw['diagnosis'] )[0]\nraw['benign_malignant'] = pd.factorize( raw['benign_malignant'] )[0]\n\nfor f in raw.columns[2:-1]:\n    raw[f] = raw[f].astype( np.int8 )\n\ntrain = raw.loc[ raw.target.notnull() ].copy()\ntest  = raw.loc[ raw.target.isnull() ].copy()\n\n\ntrain['target'] = train['target'].astype( np.int8 )\n\ndel raw\nprint(train.shape)\nprint(test.shape)\ntrain.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"test.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"def resize_image(fname, var0, var1, var2, var3, var4, fold='train/' ):\n\n    img = cv2.imread( '../input/siim-isic-melanoma-classification/jpeg/'+fold+'{}.jpg'.format(fname) )\n    \n    img = cv2.resize( img , (128,128), interpolation = cv2.INTER_AREA )\n    \n    name = fold+fname+'_'+str(var0)+'_'+str(var1)+'_'+str(var2)+'_'+str(var3)+'_'+str(var4)+'.jpg'\n    \n    cv2.imwrite( name , img , [int(cv2.IMWRITE_JPEG_QUALITY), 100])\n    \n    return ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Parallel(n_jobs=6)(delayed(resize_image)(\n    \n    fname = train.image_name.values[i],\n    var0 = train.sex.values[i],\n    var1 = train.age_approx.values[i],\n    var2 = train.anatom_site_general_challenge.values[i],\n    var3 = train.diagnosis.values[i],\n    var4 = train.target.values[i],\n    fold='train/'\n\n) for i in tqdm(range(train.shape[0])))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Parallel(n_jobs=6)(delayed(resize_image)(\n    \n    fname = test.image_name.values[i],\n    var0 = test.sex.values[i],\n    var1 = test.age_approx.values[i],\n    var2 = test.anatom_site_general_challenge.values[i],\n    var3 = test.diagnosis.values[i],\n    var4 = test.target.values[i],\n    fold='test/'\n    \n) for i in tqdm(range(test.shape[0])))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"img = cv2.imread( 'train/ISIC_0338712_1_0_2_0_0.jpg' )\nplt.imshow( img )","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat":4,"nbformat_minor":4}