Hu Josh

@joshhu

Prime membership

Joined on May 25, 2018

  • 課程一:Terminal 2022年下學期,明新科技大學資管系 講師:胡嘉璽 課程重點 作業系統中的重要元件 什麼是UI,GUI 什麼是Terminal 什麼是shell,CLI 你為什麼要學CLI Shell 常見的Terminal
     Like  Bookmark
  • 大家好,我是虎老獅,AI這兩年似乎熱過頭了 先聲明一下,我個人認為AI譯為人工智慧有點不太適當,中文智慧一詞涵義遠超過英文Intelligence,有些人高智商卻沒慧根,有些人不識字卻充滿大智慧。智商(Intelligence Quotient)翻譯為智力商數,AI翻譯為人工智力似乎較精準,但這邊還是用標準的人工智慧譯詞。 相對於其它生命或宇宙的年齡,人類演化僅十萬年即成為目前已知的最高等物種。尤其近200年,人類處理複雜事物的能力,隨科技進步不斷進化,我們跑的沒有獵豹快,卻能發明時速63萬公里的派克探測器,我們的力氣也沒大象大,也能製造出核電廠(甚至是核融合)的巨大能量,在自身物理條件極端不足的情況下,表現出超越所有其它物種的物理能力,這就是智力(Intelligence)應用的極致。 簡單來說,智力的極致應用就是用腦取代手,所以荀子說:君子生非異也,善假於物也,我們和其它生物最大的區別就是善用工具。這句話本身就是一部活生生的人工智慧史,人類一直在利用工具完成更複雜的事,再強的人工智慧都是一樣的原則,從用石頭敲碎長毛象的骨頭一直到JWST觀測大爆炸的證據,兩件事大致上沒什麼差別,只是用工具達到我們要的目標而已。 ChatGPT爆紅之前,好像沒什麼人在談AI,但現在人人言必GPT、LLM,甚至連小學生也知道Mixtral。每個人都覺得AI就等於ChatGPT、GPT、LLM、類神經網路、深度學習、強化學習、機器學習。一時之間風生水起,聊天不用晶晶體帶個機匹優或拉馬就弱掉了。難道我們真的已經進入AGI的時代了嗎?不做Alignment明天就世界末日嗎?還是人類科技已經演化到機器意識這種接近上帝的神學/哲學討論層次了?
     Like 2 Bookmark
  • TL;DR 電腦A是一台在防火牆後面內網的Linux主機(甚至連DHCP都會變),而防火牆則是沒有固定IP的。如果我們想要控制電腦A,就需要一台具有固定IP的Linux主機(我用的是GOOGLE雲端主機,電腦B),然後從電腦A建立一條反向通道到電腦B,以後要從任何地方(電腦C)連入電腦A,就透過電腦B,然後從這條反向通道連回電腦A。 電腦A的準備 openssh-server (sudo apt-get install openssh-server) autossh (sudo apt-get install autossh) 要先把從電腦A連入電腦B的ssh public key放入電腦B(ssh-copy-id -i <要放上電腦B的公鑰.pub> <電腦B IP>)。 上面這個動作會在電腦B的~/.ssh/autohorized_keys中把公鑰直接寫入,因此就算兩台不同電腦的public key檔案都叫id_rsa.pub也沒關係,和檔名無關。 放完之後,確定ssh從電腦A連入電腦B不需要密碼直接能進入。 不要用ssh建立反向通道的指令ssh -NfR 12345:localhost:22 joshhu@電腦B
     Like 1 Bookmark
  • 建立虛擬機 一、建立虛擬機 image 二、選擇光碟及virtio光碟 其中virtio-win要先去下載並上傳到ISO目錄中。 image 三、BIOS設定
     Like 2 Bookmark
  • 前置作業 Scrapy是Python下的爬蟲程式,用來爬取大量網頁資料,此處記錄爬取ptt的所有文章的方式。由於ptt有提供pyptt做為爬蟲程式,但需要登入帳號密碼,且可能會對帳號限制,因此使用正常的爬蟲程式進行。 環境 作業系統:Ubutnu 22.04 Python:3.10.16 Docker:用來跑mongodb和mongo-express 虛擬環境:使用pipenv而不用conda,都一樣 開發環境:vscode從Windows端遠連線至Ubuntu
     Like 1 Bookmark
  • 前言 由於資管系上電腦重開機會被還原,因此開發環境都無法保存下來。主機Windows 10系統有安裝vscode和virtualbox,因此將開發環境及程式碼都被在虛擬機中,並且在上課時將虛擬機導入至virtualbox,再使用vscode的remote-ssh連入虛擬機操作。 虛擬機部分 主系統 使用ubuntu 22.04桌面版製作,使用2CPU、4GB的記憶體及50GB的硬碟,網路卡使用NAT主機模式,只能和宿主機互通,虛擬機之間不互通。帳號密碼皆為must,IP為10.0.2.15(此為VirtualBox的NAT主機連接預設值)。 注意:此次VirtualBox主程式為配合學校主機,使用舊版6.1。 安裝套件
     Like 1 Bookmark
  • 前言 在VirtualBox的Linux虛擬機中安裝scrapy,並且爬取ptt,把爬取下來的文字儲存在mongodb的資料庫中。使用的Linux版本為Ubuntu 22.04。下面要進行的工作 設定虛擬機,將mongodb的網頁介面mongo-express的通訊埠開放到宿主機能存取到,才能建立documents。 設定docker的network和volume兩部分,並且做成docker-compose可以執行的yaml。 在Web介面上建立ptt需要的資料庫。 建立scrapy的專案並且寫程式 前題是已經將所有需要的函式庫和套件都安裝好了,參考這邊:https://hackmd.io/uvrlutTrT92ohSPl8jk9zw
     Like 1 Bookmark
  • 課程八:Ansible 進階用法 2022年下學期,明新科技大學資管系 講師:胡嘉璽 課程重點 Ansible Facts Ansible Template Ansible Role Ansible專案
     Like 1 Bookmark
  • 課程六 :Ansible基礎 2022年下學期,明新科技大學資管系 講師:胡嘉璽 課程重點 Ansible的基礎 Ansible的角色 試試ansible command/shell模組
     Like  Bookmark
  • TL;DR 不追求最新版,追求最穩定版 一、前言 在Linux安裝tensorflow-gpu或pytorch環境需要先將GPU的環境裝好,下面是安裝環境 主系統:Ubuntu 16.04 Desktop NVIDIA驅動程式:418(430無法啟動X Window),以後有更新再說 cuda 10.0(Ubuntu 16.04無法安裝10.1) cudnn 7.6.3
     Like 2 Bookmark
  • 神經網路優化技巧 https://hackmd.io/@joshhu/SJ2UG4UdS 針對資料 針對神經元 針對整個神經網路 針對損失函數 針對啟動函數 針對層
     Like 1 Bookmark
  • 執行環境 Windows 10 VirtualBox vagrant 虛擬機中安裝ubuntu 20.04 x64 必須啟動BIOS中Intel Virtualization Technology Windows 10環境準備
     Like  Bookmark
  • 來源硬碟 1、將需要的資料備份出來以免出問題 2、使用gparted開機,開機後選擇來源硬碟的分割區,選擇「調整大小」。 3、將大小調整到至少比目的硬碟整個大小要小100G比較安全。 4、選擇完大小後會開始調整,要花一段時間(約10分鐘),中間就等他好。 clonezilla 1、用clonezilla開機 2、一定要選擇disk to disk 3、一定要選擇expert模式
     Like 1 Bookmark
  • 一、找一台Ubuntu的電腦啟動一個docker的mysql服務 docker run --name some-mysql1 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.29` 二、進入這台mysql環境 docker exec -it 67 bash 二、進入mysql環境介面
     Like  Bookmark
  • TL;DR 檢查目前版本 更新kernel 檢查是否支援intel i915 修改grub 更新sudo grub-update 更新Linux Kernel 檢查是否支援Intel Display Driver
     Like  Bookmark
  • 建立叢集及發佈服務的步驟 建立叢集 Kubernetes Clusters 一群電腦或vm組成的叢集,包括兩種 The Control Plane coordinates the cluster Nodes are the workers that run applications Control Plane用來控制所有其它節點
     Like  Bookmark
  • Kubernetes介紹 什麼是Kubernetes K8s 可以幫助我們自動化的操作與管理容器 在這邊容器其實就可以想成是 Docker 的 Container 雖然 Docker佈署已經很方便,但仍需要手動佈署多個容器到機器上 如果只有單一機器就還好 真正大型的服務一定會有需求是多個容器都在不同的機器上 那麼手動去每個機器佈署將會是很累人的一件事情 而且如果要監聽並管理這些容器的狀態也是很麻煩
     Like  Bookmark
  • (last update: 2021/11/12) 說明 docker network架構說明 將容器連上網路的方法。可以用虛擬機的想法來實作。有幾種方法 讓容器連上docker0這個路由器,容器自己形成一個網路,像虛擬機中的NAT一樣,稱之為bridge。 讓容器分享主機的IP,稱之為host,連上公網,但要小心使用,不建議使用。 讓容器之間能互相看到,但主機和公網看不到,稱之為local。 還有overlay和macvlan,以及完全無法連上網路的none。
     Like  Bookmark
  • (last update:2021/11/12) Docker volume 原理 資料在容器中,當容器消失時,資料會不見,因此要讓資料永久保存下來 資料永久保存在主機硬碟中,當容器在其它機器上部署時,資料無法轉移 資料庫的資料在生產環境和開發環境不一樣,但又想要有共用位置
     Like  Bookmark
  • (last update 2021/11/11) 一次性容器及automated容器說明 一次性執行的容器 docker run是啟動一個容器,是docker中最常用的指令,整個docker的靈魂也是在這個指令中。docker run啟動一個容器會有兩種狀態,第一種狀態會在執行一次後就離開容器,也無法常駐執行,這種容器稱之為普通容器。通常一次性執行的容器用在一次性執行某個指令,如安裝軟體,複製軟體等。 雖然這一類容器執行一次就結束,但它還是會殘存在記憶體中,可以用docker ps -a看得到。除非手動刪除,要不然他就會一直留在記憶體中,成為「孤兒容器」。可以用docker container prune或docker rm -f $(docker ps -aq)刪除。時是在執行時,放上--rm參數讓這個容器執行後就立即把自己刪除。 常註執行的容器 當映像檔在建立時,有一個常駐執行的程式不離開,這個程式在背景中一直執行,就會使得容器被建立後就開始執行這個程式一直不離開,此時容器會成為常註容器,這種容器稱之為automated容器。通常提供服務的容器如mysql、nginx、httpd或redis等都屬於這種容器。
     Like 1 Bookmark