gpu server 架好之後的一些常用指令
之前參加AI Cup的時候跟資工系的蘇木春教授借了一台GPU server來給組員遠端做使用,這是當時撰寫的一些簡單規範,從hackMD拿過來這邊放當備份。
!運行你的程式前,請先做以下事項
查詢有沒有人在用gpu,使用率很高的話,請在跑的時候指定沒人用的gpu
nvidia-smi
一些會常用的指令
下載python
工作站裡面沒有python3.8,只有到3.6,所以需要自己下載,步驟如下,一次請只輸入一條指令。
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.8
成功安裝的話運行這個,理論上會出現Python 3.8.12
python3.8 --version
傳送檔案
要傳送檔案到工作站的話,ssh下可以使用以下指令,之後輸入一下密碼就好了
scp -P 22 要傳送的檔案 user@140.115.0.0:~/data(目的地)
scp -P 22 -r 要傳送 ...
hexo-theme-butterfly 常用語法
給自己的一個備忘錄,一般的markdown語法就不提了。
主要想記錄我自己未來應該會用到的語法,之後寫作用。
轉載自https://butterfly.js.org/posts/dc584b87
Page Front-matter
---title:date:updated:type:comments:description:keywords:top_img:mathjax:katex:aside:aplayer:highlight_shrink:---
寫法 解釋
title 【必需】頁面標題
date 【必需】頁面創建日期
type 【必需】標籤、分類和友情鏈接三個頁面需要配置
updated 【可選】頁面更新日期
description 【可選】頁面描述
keywords 【可選】頁面關鍵字
comments 【可選】顯示頁面評論模塊(默認 true)
top_img 【可選】頁面頂部圖片
mathjax 【可選】顯示mathjax(當設置mathjax的per_page: false時,才需要配置,默認 false)
katex 【可選】顯示katex(當設置katex的pe ...
Java 單層感知機實作
因為類神經網路課程順便寫的,盡量簡潔和只使用單一 class,開箱即用,希望可以幫助到大家。
氣死網路上完全查不到這類型的相關程式碼乾脆自己發。
底下就是單層感知機的實作
import java.util.ArrayList;import java.util.Random;/** * 單層感知機 * @author Afan Chen */public class Perceptron { private double eta = 0.01; //學習率 private int nIter = 50; //迭代次數 private ArrayList<Integer> errors; //預測錯誤數量 private double[] w; /** * 使用預設學習率的建構子 */ public Perceptron() { } /** * 建構子 * @param eta 學習率 * @param nIter 迭代次數 */ ...
使用 python 快速進行 line bot 開發
最近小摸了一下 line bot 的技術,老實說還算簡單好玩,但是感覺雷有點多,就乾脆自己寫了一篇簡單的初階教學。(x)
簡單的部分我跳過了,不然字數會太多,主要會圍繞在 line bot 官方文件的解讀上,由於這種文章都會有時效性,如果不能照著做的話請通知我,雖然我也不一定會更新就是了,也歡迎直接觀看 document。
首先,來看看 Line 給開發者進行 API 對接的模式。
從上圖中,可以很清楚的看到 line bot 中伺服器如何與 line server 進行對接和保障對話的安全性。
首先,大家請到 line的開發者平台 上面驗證和註冊。
資料隨便填,註冊過程歡迎觀看 [30 天教你如何玩弄 Line bot API] 第 1 天:玩弄 Line bot API 第一步](https://ithelp.ithome.com.tw/articles/10215656)。
註冊完全不是問題點,創建好 line bot 之後會給你必要的 token 等等,如果需要另外創建的話,可以另外使用 Assertion Signing Key ,生成可以到 https://mkjwk. ...
在部落格上面跑python和R
其實也不算專案,就只是我弄得小嘗試而已。
可以在這裡跑python
a = 5
print(a)
可以在這裡跑R
a
jshell
因為真的很好玩就開一篇來介紹 jshell 這個東西。
它位於"\bin"路徑之下,例如"C:\Program Files\Java\jdk-16.0.1\bin"資料夾當中,可以找到jshell.exe。
jshell能夠做到什麼?
這是一個 REPL(Read-Eval-Print Loop) 的交互式實時命令工具。
大概像是這樣,其實滿酷的。
官方文檔說 jshell 的功能是這樣。
JShell helps you try out code and easily explore options as you develop your program. You can test individual statements, try out different variations of a method, and experiment with unfamiliar APIs within the JShell session. JShell doesn’t replace an IDE. As you develop your pr ...
java邏輯回歸程式實作範例
改寫自此python code,因為網路上流傳太多版本大陸互相亂爬導致到處都有,找不到出處故只附此code,若侵犯版權請盡速與我聯繫。
# 這個是別人的啦!不是我寫的。from matplotlib import pyplot as pltimport numpy as npimport random# Sigmoid函数def sigmoid(inX): return 1.0 / (1 + np.exp(-inX))# 梯度上升def gradAscent(dataMatIn, classLabels): dataMatrix = np.mat(dataMatIn) labelMat = np.mat(classLabels).transpose() m, n = dataMatrix.shape alpha = 0.01 maxCycles = 500 weights = np.ones((n, 1)) for k in range(maxCycles): h = sigmoid(dataMatrix * weights ...
JIT(Just In Time),Java的即時編譯特性
這篇文的動機是因為最近一直聽到別人勸告新手與其學 java 不如學 c ,原因是java速度很慢,這個理由我不太能接受,所以就寫一篇文章來說明為什麼 java 的速度其實跟 c、c++ 差不多,在特定情況下藉由 JIT 技術已經比 C 或 C++ 快了。
首先,我們要知道 java 的編譯過程。
java 和 c 的 compiler 滿不一樣的,java 不同於 c 直接 compile 成 CPU 的指令,他是產生**統一規格的 bytecode,在運行期間,JVM 才會 interpret bytecode,所以只需要 build 一份 bytecode 就可以在各平台上運行。
這樣的編譯流程帶來跨平台的好處之外,還有運行效能的缺點,所以在2000年左右,java開始研究 HotSpot 的核心技術。
這裡要先講一個滿常發生的程式特性,大部分的運行時間被運用在少數的程式碼上。
JIT的在編譯階段的優化
hot spot 的意思是 bytecode 當中常被使用到的程式碼片段,JVM 在運行程式的時候,先分析和找出這些程式碼片段,接下來將這些程式碼片段做大範圍的最佳化、以及將程 ...
java16的新特性
雖然好像慢了,但還是小小來記錄一下java 16到底有什麼具體的改變,方便我跟版本,畢竟9月就要發布java 17(LTS,長期穩定支援版本)了,總不能一直抱著祖傳java 8。
我就挑我覺得比較酷的來說,因為網路上的內容基本上都講得滿模糊的,所以乾脆直接看oracle的java document,再加入我自己的一點理解。
Record Classes
Record Classes的官方預設用途是被拿來實作簡單的"數據載體"的,基本上就是一個我覺得還算好用的語法糖。
具體功能大概是這樣。
record Rectangle(double length, double width) { }
開發者寫的這一段code等效於以下的程式碼。
public final class Rectangle { private final double length; private final double width; public Rectangle(double length, double width) { ...