本博客記錄對論文《Deep_Adaptive_Image》的學習過程,包括調通代碼和論文理解,作爲下一次論文分享會的儲備材料。
論文下載地址:(Related Material中pdf就是paper,Supp是補充材料,也可以下來看看)
Chang_Deep_Adaptive_Image.
代碼下載地址:DAC.
代碼部分
運行環境
調通代碼的過程中,環境是最麻煩的,在作者的github上只有(Keras 1.1.2 + Theano 0.8.2)這兩個的要求,但是放在現在是不太行的,所以我這裏具體記錄一下調通之後的環境:
項目 | 版本 |
---|---|
ubuntu | 18.04.2 |
cuda | 9.0 |
cudnn | 7.6.2 |
python | 3.7 |
keras | 1.1.2 |
theano | 1.0.2 |
pygpu | 0.7.6 |
MNIST
上來首先試一下mnist的,畢竟對這個數據集最熟悉。下面是調代碼的過程中,碰到一些要修改的地方
1、這裏的device=gpu3,要把gpu3改成cuda
os.environ['THEANO_FLAGS']='device=gpu3,lib.cnmem=1,mode=FAST_RUN,floatX=float32,optimizer=fast_compile'
2、對於代碼中有下面這三個屬性的,因爲keras版本問題,全都換成(img_rows, img_cols,img_channels),換成這樣的順序,否則會報錯,記得換全,別漏了。
img_channels, img_rows, img_cols
3、把MNIST文件夾中的mnist.log文件換一個名字,這是作者給你的實驗結果。如果你要自己跑的話,生成的文件跟這個重名,會覆蓋。所以提前給它換個名字,方便後面再做對比
CIFAR10
要修改的地方第1點和上面mnist部分一樣
2、對於數據集的導入要進行修改
#data
nb_classes = 10
img_channels, img_rows, img_cols = 3, 32, 32
file = h5py.File('/home/changjianlong/datasets/CIFAR10.h5')
X_train = file['X_train'][:]
y_true = file['y_train'][:]
y_true = y_true.astype('int64')
file.close()
這一部分大概在98-105行左右,要修改爲
#data
nb_classes = 10
img_channels, img_rows, img_cols = 3, 32, 32
(X_train, y_train), (X_test, y_test) = cifar10.load_data()
y_true=np.array([])
for i in y_train:
y_true=np.append(y_true,i)
# file = h5py.File('/home/changjianlong/datasets/CIFAR10.h5')
# X_train = file['X_train'][:]
# y_true = file['y_train'][:]
y_true = y_true.astype('int64')
# file.close()
論文部分
未完待續…
發現一個別人的筆記,做個標記:
https://blog.csdn.net/weyoung_/article/details/79453313