原创 貪心算法和動態規劃的區別與聯繫
1. 聯繫 都是一種推導算法 都是分解成子問題來求解,都需要具有最優子結構 2. 區別 貪心:每一步的最優解一定包含上一步的最優解,上一步之前的最優解則不作保留。動態規劃:全局最優解中一定包含某個局部最優解,但不一
原创 使用區間來簡化代碼思考
Leetcode中移動零(https://leetcode-cn.com/problems/move-zeroes/)和快速排序的最初版本,本質上都可以使用區間來簡化代碼。 首先以移動零爲例,假設兩個循環變量分別爲jjj和
原创 NLTK使用匯總
1. LookupError: Resource not found. 例如在運行下列代碼時出現錯誤: from nltk.tokenize import word_tokenize tokenized_word = word
原创 NLP定義和機器翻譯
1. NLP定義 NLP(自然語言處理)= NLU(自然語言理解)+ NLG(自然語言生成)。 自然語言理解(Natural Language Understanding)是使計算機理解自然語言(人類語言文字)等,重在理解
原创 tensorflow.keras使用匯總(持續更新)
1. 查看可用計算資源 from tensorflow.python.client import device_lib print(device_lib.list_local_devices()) from keras impor
原创 Google Colab學習彙總
1. 如何在colab上打開tensorboard? 方法一: 1.1 安裝ngrok !wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
原创 使用PIL進行圖片處理
1. 隨機旋轉和隨機縮放 from PIL import Image import numpy as np import os def scale_rotate_img(image, rotate_min=20, rotate_
原创 大數據處理經驗(持續更新)
先取少量數據跑代碼,確保代碼沒有語法和邏輯錯誤,再放到大量數據上面跑。 使用pandas的DataFrame表示數據的時候,對於int和float的默認爲int64和float64位,但實際可能不需要這樣的高精度表示。可通過以下
原创 使用Python進行英文單詞分割
由於在一些場景中,所有的字母都連在了一起,所以我們需要將字母分割成單詞的形式。 1. 安裝 pip install -U symspellpy 2. 下載詞典 curl -LJO https://raw.githubuser
原创 知乎看山杯 專家發現算法大賽分享
1. 問題路由的前世今生 2. 冠軍隊伍分享
原创 Leetcode最大和最小子序和
最大子序和,動態規劃時間複雜度爲O(n),則假設每一步爲step, sf(x1)=x1sf(x_1)=x_1sf(x1)=x1 sf(x2)={sf(x1)+x2,sf(x1)+x2>x2x2,sf(x1)+x2<=x2sf
原创 代碼思路標準流程
首先引入幾個基本概念。fff代表指定的函數。每一步(step)和每一輪(round)。假設爲二重循環,則外層循環一次代表走一輪,而內層循環一次代表走一步。如果是一重循環,則循環一次代表走一步。 以冒泡排序爲例,假設冒泡排序
原创 Leetcode學習
1. 刷題方法 自頂向下 VS 自底向上。兩種方法各有優劣。那怎麼才能達到最好的學習效果呢? 入門時使用自底向上的學習方法,以玩遊戲爲例,瞭解了基本的遊戲規則,然後就先玩起來,在玩的過程中逐漸熟悉。但這樣的玩法,必然會在一
原创 Pytorch使用匯總
1. 不要在循環訓練中直接將loss進行append(cannot allocate memory) 默認情況下,涉及需要求導/梯度gradients變量的計算將保存在內存中。計算中避免使用這些變量,例如在跟蹤統計數據時,這些
原创 Centos7修改鏡像源和安裝基本庫
1. 修改鏡像源 使用的鏡像源爲清華大學開源軟件鏡像站,修改鏡像源參考鏈接爲:https://mirror.tuna.tsinghua.edu.cn/help/centos/ 1.1 備份並修改原有文件 備份代碼爲: cp