Python 机器学习入门之基础编程
纯区别性基础
前言类,有一定c和java的基础直接对比着学就可以啦,重点还是刷题看论文哦
转译符
- \n 分行 \t 间隔四哥字符为期的固定组合,要是不够就补上,满了就向下移动四格
- \r 是覆盖,\b是回退单个字符
- \ \是输出单一个,要是网址就\\ \\四个
- 不希望转义字符实现,则在字符串之前加一个r或者R
关键字
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
用的是import keyword包后print keyword.kwlist
命名逻辑
- python的命名是由三个属性 id type value构成,由id对应指向封装的属性盒
- 当多次赋值之后,变量名会指向新的空间
- 十进制,免责,二进制于数据前加0b。八进制0o
- 单双引号不影响,分行用三引号
- print的时候单字符就可以是string类型啦
类型转换
- str(),int(),float();类似c#的括号强制转换
- #号是注释,三引号是分段注释
- 输入与输出格式要求
- 四则正常算而且可以有小数点
- %时一正一负数要遵循公式,余数=被除数-除数*商
- 幂运算** 求整数 //
input
读取的是str需要携带转化
而且同value的情况会变成id同化,python不严谨的的地方,==与is的判断,在同类的情况下是返回的是true(针对单个)
is和isnot 操作的是id,基础符号操作的value
in 和 not in 是单元组是否在参考组内
位运算 & 同为1时结果为1 按位置 | 有1则是1.然后是同c语言的进制移动
分支结构
- 仿c类的 if: else: elif:没有花括号类了
- pass语句,没有操作性质,就是不执行的伪代码
range
- range()其中小括号一个数字,就是步长1,默认从零开始,加入list(r)则是列表内对象,到b但不包括b
- 双参数就是 range(A,B)默认不尝试是1,从a到b,并不包括b
- 三参数,c就是步长
while
- if 是判断一次,条件为true执行一次
- while是判断n+1次,条件为true执行n次
FOR in
- for 自定义变量 in 可迭代的对象 :循环体
- 且else可以和for 也可以和while直接搭配使用,不需要必须if开头
cpu和gpu
性能
cpu简单易操作,pycharm链接上就行
本机的配置是python3.7,然后TensorFlow2.0
gpu可以学网上最普遍的下载cuda和cudnn配套,然后链接pycharm对接跑代码就行,要是没bug就可以
版本对应链接版本对照
cpu
cpu的简单就是可以利用可视化的anaconda,下好python版本对应建立TensorFlow,然后可以在可视化框架里直接下载好jupyter notebook还有sp
操作用语 TensorFlowcpu
然后就是配置到pycharm编译器里测试
add 行的编译环境,
gpu
本文最大的bug,gpu安了一天,踩了很多雷区
东西确实繁琐
这个雷区少一点,而且详细解释了cudnn和cuda导文件覆盖的问题
然后是路径的环境设置,各有千秋,这个还是可以执行的
GPU安装
我自己的一些配置截图,win11的伙伴们看一看
不建议安装最新的,因为whl没有,自己试了半天2.12.0的,虽然cuda和cudnn强行安装上,但是到后面的TensorFlow安装还是出现了很多问题。请教了专业人士,最后使用2,10.0更好,cuda12可以兼容,独立显卡就能任性,一开始是为了玩Harry potter买的独显,最后成了gpu的优势局
还是pycharm弄好编译器换了程序,可以跑出来就行
python多版本兼容问题
主要的问题是多个版本兼容,在不同的python版本下装TensorFlow还有pip问题
兼容操作
主要是环境上移操作权限
要不就是点名道姓python3,10,要不就是python,按照默认的环境路径。
Ending
以后有更新再更新啦。