2017年5月5日 星期五

我的手術日誌-隱私權政策

本文說明「我的手術日誌」的隱私權政策。請您詳細閱讀,本文不定期更新,您若繼續使用「我的手術日誌」,即代表您同意相關此政策。

1. 資料的收集與應用
「我的手術日誌」之傷口照片功能,將會讓使用者以您手機中的照相機來進行拍照、錄影或錄音,並讓使用者自行決定是否上傳到sever端進行備份。除了用來備份之外,不會有其他用途。

2. 同意個人資料之蒐集、處理、利用或國際傳輸:
您了解並同意本團隊依本「隱私權政策」及相關法規,蒐集、處理或利用您所提供的個人資料。

3. 個人資料之安全
本團隊將依相關法律規定,採取適當的技術性和組織性等安全措施,保護您所提供的個人資料,並限於因業務需要必須接觸您個人資料的員工,始有權限接觸到您的個人資料。本團隊已採取符合法規要求的實體、電子和程序防護措施,以保護您個人資料的安全。但請注意,儘管本團隊會盡力保護您的個人資料,仍無法保證您的個人資料百分之百不會遭受第三人之非法攔截、傳送或盜駭。

如果您有任何關於本隱私權政策的問題,請來信討論:ntumedinfo@gmail.com

2016年12月25日 星期日

Ubuntu - 設定Logitech M705滑鼠

首先安裝需要的tools
sudo apt-get install xbindkeys xautomation xev

安裝好後,開啟xev
xev
將滑鼠移到黑色方框中,按下欲設定的鍵,下圖紅框即是對應的button number
建立.xbindkeysrc
sudo gedit $HOME/.xbindkeysrc
在.xbindkeysrc內加入button及對應的快捷鍵,如下
"xte 'keydown Control_L' 'key w' 'keyup Control_L'"
b:10

"xte 'keydown Control_L' 'key Page_Up' 'keyup Control_L'"
b:6

"xte 'keydown Control_L' 'key Page_Down' 'keyup Control_L'"
b:7

"xte 'keydown Alt_L' 'key Left' 'keyup Alt_L'"
b:9

"xte 'keydown Alt_L' 'key Right' 'keyup Alt_L'"
b:8
快捷鍵的名稱可以在keysymdef.h中找到
/usr/include/X11/keysymdef.h
例如Control_L鍵的名稱為:XK_Control_L
但是在.xbindkeysrc中不需要加上XK_,只要Control_L




參考連結
How to configure extra buttons in Logitech Mouse

2016年12月21日 星期三

Ubuntu14.04 - 安裝Cuda及Theano

Cuda

確定Gpu是那一張且是否支援Cuda
lspci | grep -i nvidia
到 http://developer.nvidia.com/cuda-gpus 驗證Gpu是否有支援Cuda

確定已安裝Gcc
gcc --version

安裝對應的kernels header
sudo apt-get install linux-headers-$(uname -r)

下載CUDA
從 https://developer.nvidia.com/cuda-downloads,下載對應版本的cuda安裝包
依照Cuda指示,執行以下命令,即可安裝Cuda
sudo dpkg -i cuda-repo-ubuntu1404-8-0-local_8.0.44-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
*安裝完成,須重新啟動電腦

安裝cuDNN
下載cuDNN,從 https://developer.nvidia.com/rdp/cudnn-download,註冊,然後下載
複製cuDNN library到cuda
tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz
cd cuda
sudo cp lib64/* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include/

設定環境變數
sudo gedit /etc/profile
加入以下兩句
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
*因為cuda會自動產生捷徑,所以不需要指定到cuda-8.0
保存後,使環境變數立即生效
source /etc/profile
進入/usr/local/cuda/samples,build samples
sudo make all -j4
編譯完成後,進入 samples/bin/x86_64/linux/release,運行deviceQuery
./deviceQuery
若沒有問題的話,最後會顯示Result = PASS


Theano

首先安裝相依的套件
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
安裝BLAS
sudo apt-get install libblas-dev liblapack-dev
安裝theano
sudo pip install Theano
測試GPU
from theano import function, config, shared, sandbox
import theano.tensor as T
import numpy
import time

vlen = 10 * 30 * 768  # 10 x #cores x # threads per core
iters = 1000

rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], T.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in range(iters):
    r = f()
t1 = time.time()
print("Looping %d times took %f seconds" % (iters, t1 - t0))
print("Result is %s" % (r,))
if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):
    print('Used the cpu')
else:
    print('Used the gpu')
執行GPU測試程式
THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32 python test.py
最後顯示Used the gpu,就是成功了




參考連結
Caffe學習筆記2--Ubuntu 14.04 64bit 安裝Caffe(GPU版本)
Installing Theano
Using the GPU

Ubuntu - 中文輸入法 Hime

安裝Hime輸入法
sudo apt-get install hime
系統設定值>語言支援
確定漢語(台灣)在最上層,且鍵盤輸入法系統為hime
開啟Hime輸入法設定
內定輸入法 & 開啟/關閉
*輸入法只勾選詞音,其他全不勾
輸入視窗外觀設定
注音/詞音/拼音設定

Ubuntu - 系統調校

更改root的password
sudo passwd root
更新套件
sudo apt-get update
sudo apt-get upgrade
增加解壓縮7z、rar的功能
sudo apt-get install p7zip-full p7zip-rar
關閉UTC,避免使用Ubuntu讓Windows的時間跑掉
sudo sed -i 's/UTC=yes/UTC=no/g' /etc/default/rcS

Ubuntu - 類似小畫家的工具 KolourPaint

安裝KolourPaint
sudo apt-get install kolourpaint4

2016年12月18日 星期日

Python - matplotlib畫圖表

import pyplot、image
from matplotlib import pyplot as plt
from matplotlib import image as img
Display a Matplotlib RGB Image
image = img.imread(ImageFilePath)
plt.imshow(image)
plt.show()
Add a arbitrary line
plt.plot([x0,x1],[y0,y1],"r")
Invert axis
plt.gca().invert_xaxis()
plt.gca().invert_yaxis()