tensorflow
安装
1 | pip3 install tensorflow |
验证
1 | import tensorflow as tf |
参考
英语 - 单词
词性
- 名词(n.)
- 人相关
- -er / -or,做事的人或拥有特定职业的人
- actor
- -ist,拥护某种主义的人或从事某一领域的人
- journalist
- -ian,某方面的人或精通某领域的人
- historian
- -er / -or,做事的人或拥有特定职业的人
- -tion / -sion,表示动作或状态
- action
- version
- -ment,行为或状态
- development
- -ness,性质或状态
- Happiness
- -ity / -ty / -cy,标识性质或状态
- ability
- beauty
- -ship,关系或身份
- friendship
- -hood,状态或身份
- childhood
- -ure,表示行为结果
- failure
- pressure
- -ance / ence
- appearance
- difference
- -ee,受动者或参与者
- employee
- -acy / -ency,性质或状态
- accuracy
- -ology,研究或学科
- biology
- -ary,集合或事物相关
- dictionary
- array
- -th,由形容词转为名词
- strength
- -age,标识性质或状态
- storage
- marriage
- -ry,标识场所或集合名词
- machinery
- 人相关
- 形容词(adj.)
-able
,-ible
: 表示“可以…的”,“有…能力的”或“值得…的”- capable, edible, visible
-al
,-ial
: 表示“具有…属性的”或“关于…的”。- natural, personal, revolutionary
-ful
: 表示“充满…的”。- beautiful, helpful, wonderful
-less
: 表示“没有…的”。- careless, homeless, timeless
-ous
: 表示“有…倾向的”或“充满…的”。- dangerous, curious, glorious
-ic
,-ical
: 表示“…的”,通常与科学或艺术相关。- historic, historical, economic
-ive
: 表示“具有…属性的”或“倾向于…的”。- active, negative, sensitive
-ly
: 有时用于形容词,表示“有…品质的”。- friendly, deadly
-y
,-ish
: 表示“像…的”或“有一点…的”。- tasty, foolish, bluish
-like
: 表示“像…一样”。- childlike, manlike
-some
: 表示“有…特质的”或“引起…的”。- troublesome, handsome
-ary
,-ory
: 表示“属于…的”或“与…有关的”。- honorary, imaginary
- 及物动词(vt.)
-ize
或-ise
,后缀可以加在名词或形容词后面,形成动词,通常表示“使成为…”,“按照…方式处理”,“照…样子做”- normal → normalize(使正常化)
- equal → equalize(使平等,使相等)
-ify
,加在名词或形容词后面,形成动词,通常表示“使…化”,“使成为…”- beautify(美化)
- purify(净化)
- 不及物动词(vi.)
- 副词(adv.)
-ly
,加在形容词后面行成副词- quick -> quickly(快地),happy -> happily(快乐地)
-wise
,表示方向或方式。- Examples: clockwise -> clockwise(顺时针方向),money -> moneywise(在金钱方面)
-wards/-ward
,表示方向或趋势- sun -> sunwards/sunward(向太阳),north -> northwards/northward(向北)
-erly
,表示方向或来源- east -> easterly(向东的,来自东边的)
-ways
,表示方式或方向- back -> backways(向后地),side -> sideways(侧面地)
- 介词(prep.)
- 连词(conj.)
- 数词(num.)
- 代词(pron.)
- 感叹词(int.)
名词(Noun, n.)
表示人、事物、地点或概念。比如 dog、table。
动词(Verb, v.)
表示动作、状态或事件。比如 run、eat。
形容词(adjective, adj.)
描述或修饰名词、代词。比如 blue、tall。
副词(Adverb, adv.)
修饰动词、形容词或其他副词。比如 quickly、here、well。
代词(Pronoun, pron.)
用来代替名词,避免重复。比如 he、she。
介词(Preposition, prep.)
表示名词或代词与句子其他部分的关系。比如,in、on、with。
连词(Conjunction, conj.)
用于连接词、句子或短语。比如 but、or、and。
冠词(Article, art.)
限定名词,分为定冠词和不定冠词。the(不定冠词),a/an(定冠词)。
情态动词(Modal Verb, mod.)
表示能力、许可、可能性或义务。比如 may、can、must。
助动词(Auxiliary Verb, aux.)
用于构成复合时态或被动语态。比如 be、do、have。
感叹词(Interjection, int.)
表示强烈的情感或反应。比如 oh、wow。
数词(numeral, num.)
表示数量或顺序。比如 one、first。
对比
及物动词和不及物动词
需要在后面接宾语的动词叫及物动词,反之叫不及物动词。
1 | The bird flies. |
fly
是不及物动词。
1 | I eat an apple. |
eat
为及物动词。
Conda
安装
linux
1 | mkdir -p ~/.miniconda3 |
配置 Shell
1 | for bash |
shell profile
1 | eval "$(/path/to/anaconda3/bin/conda shell.YOUR_SHELL_NAME hook)" |
环境
列出环境
1 | conda info --envs |
创建环境
1 | conda create -n ml |
指定 channel
1 | conda create -n ml --channel=conda-forge |
克隆环境
1 | conda create --name new_name --clone old_name |
启用环境
1 | conda activate {env-name} |
环境重命名
1 | conda rename -n old_name new_name |
使用 yml 文件更新环境
1 | conda env update --file env.yml --prune |
删除环境
1 | conda remove --name {env-name} --all |
默认不启用 conda base 环境
1 | conda config --set auto_activate_base false # 关闭默认使用 base |
打印环境信息
1 | conda info |
Channel
为环境添加 channel
1 | conda config --append channels conda-forge |
添加 channel
1 | conda config |
打印 channel
1 | conda config --show channels |
包管理
conda 的包管理有 channel 的概念,如果不指定则为默认的 defaults
。如果我们想要安装其他 channel 的包,示例如下。
1 | conda install anaconda::gcc_linux-64 |
查询可用包
1 | conda search {package} |
或在 这里 搜索,页面有安装命令,比如。
1 | conda install anaconda::gcc_linux-64 |
已安装包
1 | conda list |
移除包
1 | conda uninstall {package} |
安装包
1 | 默认包 |
Trouble Shotting
GLIBCXX_3.4.30 not found
1 | ImportError: /home/wii/.miniconda3/envs/ml/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /home/wii/.miniconda3/envs/ml/lib/python3.12/site-packages/paddle/base/libpaddle.so) |
可以通过如下命令,查看当前 gcc 支持的 GLIBCXX 版本。
1 | strings /path/to/libstdc++.so.6 | grep GLIBCXX |
这个报错通常是运行的程序依赖的 gcc 版本和已经安装的 gcc 版本不匹配,要么太高,要么太低。安装兼容版本的 gcc 即可。
libstdcxx-ng 11.2.0.* is not installable
1 | libstdcxx-ng 11.2.0.* is not installable because it conflicts with any installable versions previously reported |
这个报错是在 conda 环境,安装 gcc 13.3.0 时报的错。原因是已经安装 libstdcxx-ng 11.2.0.*
,和要安装的 gcc 13.3.0 出现依赖冲突。可以先卸载。
1 | conda uninstall libstdcxx-ng # 当然,大概率会失败 |
可以重新创建环境,并添加 channel conda-forge。
1 | conda create --name {env-name} --channel=conda-forge conda-forge::gcc=13.2.0 |
推荐
1 | conda create --name ml --channel=conda-forge conda-forge::gcc=13.2.0 conda-forge::python=3.12.4 conda-forge::jupyterlab |
常用包
1 | gcc & g++, 指定版本 |
PaddlePaddle
依赖
- gcc >= 12
GPU
nvidia GPU 驱动
- conda 安装
1 |
安装
gpu
文档参考这里。
1 | python -m pip install paddlepaddle-gpu==2.6.1.post120 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html |
英语 - 语法
名词
名词是指人或事物的名称。
- 人名,John
- 职业,doctor
- 物品名称,radio
- 地点,London
- 抽象概念,courage
- 名词短语,the woman next door
机器学习 - 特征工程
特征分类
-
按数据类型分类
-
数值特征
- 离散数值特征,有限的离散值,比如年龄
- 连续数值类型,任意实数,比如体重
-
分类特征
- 有序分类特征,类别之间存在顺序,比如初中、高中、大学
- 无序分类特征,类别之间没有顺序,比如血型
-
-
按生成方式分类
- 原始特征,直接从数据集中获取的未经处理的特征
- 衍生特征,通过对原始特征进行数学运算、转换或组合而生成的新特征
-
按特征稳定性分类
- 稳定特征,在不同时间或数据集中变化较小的特征,如人的性别
- 不稳定特征,容易随时间或数据分布变化而变化的特征,比如股票价格
Kaggle - command line tool
安装
1 | pip install kaggle |
在 User Profile 页面 Create New Token
,并将下载的文件放到 ~/.kaggle/kaggle.json
。
使用
列出进行中的比赛
1 | kaggle competitions list |
列出比赛的文件
1 | kaggle competitions files {competition} |
下载数据
1 | kaggle competitions download -f {filename} -c {competition} # 下载指定文件 |
ar
打包多个静态库
1 | liba.a, libb.a |
机器学习 - 入门
概述
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。其专门研究计算机怎样模拟或实现人类的学习行为,已获得新的知识或技能,重新组织已有的知识机构使之不断改善自身的性能。
流程
根据《Data Science Solutions》,完整的解答工作流程包含七个阶段:
- 问题或课题定义
- 获取训练及测试样例集
- 整理、预处理、清洗数据
- 分析、识别模式、探索数据
- 建模、预测、解决问题
- 可视化、汇报、呈现问题解决步骤和最终解决方案
- 提交结果
上述工作流指出了通用的步骤顺序。但是,有时候会有些例外。
- 需要将多个步骤组合在一起
- 需要通过可视化进行分析
- 将一些步骤提前
- 某些步骤重复多次
- 跳过某些步骤
目标
数据科学解决方案流程通常有七个主要目标:
- 分类(Classifying)
- 关联(Correlating)
- 转换(Converting)
- 补全(Completing)
- 修正(Correcting)
- 新建(Creating)
- 可视化(Charting)
问题分类
- 监督学习(Supervised Learning),数据带有明确的标签或目标值
- 分类问题(Classification)
- 目标,将数据点划分到不同的类别中
- 示例,垃圾邮件判定、良性/恶性肿瘤判定
- 回归问题(Regression)
- 目标,预测一个连续的值
- 示例,房价、股票价格
- 分类问题(Classification)
- 无监督学习(Unsupervised Learning),数据没有明确的标签
- 聚类
- 降维
- 强化学习(Reinforcement Learning),智能体通过与环境进行交互并根据奖励信号来学习最佳策略
- 半监督学习(Semi-supervised Learning),使用少量有标签数据和大量无标签数据进行学习
- 主动学习(Active Learning),通过选择最有价值的数据进行标注来提高学习效率
- 迁移学习(Transfer Learning),利用已有的知识和模型来解决新的但相关的问题
监督学习
回归问题
模型
线性回归(Linear Regression)
最基本的回归模型,它假设自变量和因变量之间存在线性关系。