launchjson

案例

args

1
"args": ["--arg1", "value1", "--arg2", "value2"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [

{
"name": "TestTrain",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/process/run.py",
"console": "integratedTerminal",
"justMyCode": true,
"args": ["--aiarena_max_frame_num=9000","--aiarena_max_steps=3000", "--aiarena_test_timeout=360","--aiarena_use_init_model=true"]
}
]
}

os.getenv()

Python常用函数:os.getenv()

用途:获取环境变量键的值(存在),否则返回默认值

1
os.getenv("AIARENA_USE_INIT_MODEL", "0")

image-20230819182721811

image-20230819182825760

环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。通俗理解为:一些被指定的文件夹路径,目的是为了更快速方便的找到想要的文件和文件夹。

C语言函数&操作符

函数

f(x) = 2*x+5;

  • 代码复用(封装)

  • 方便debug

  • 更加简洁

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Add(int x, int y) //函数
{
int z = 0;
z =x+y;
return z;
}


int main()
{
int a = 0;
int b = 0;
scanf("%d %d",&a,&b);
int sum = Add(a,b); //调用函数
pritnf("%d",sum);
return 0;
}

操作符

  • 算术操作符:+ - * / %
1
2
3
4
5
6
7
8
9
//整数除法
int a= 9/2;
//结果为4
float a=9/2
//结果为4.0

//小数除法
float a=9/2.0
//结果为4.5
  • 移位操作符:>> <<

左移操作符<<

1
2
3
4
int a = 2
//二进制表示为 00000000000000000000000000000010
int b = a<<1
//向左移动一位 00000000000000000000000000000100

右移>> 同理

  • 位操作符

    1
    & |
  • 赋值操作符

    1
    = += -= *= /= &= ^= |= >>= <<= 
  • 单目操作符

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    !			逻辑反操作
    - 负值
    + 正值
    & 取地址
    sizeof 操作数的类型长度
    ~ 对一个数的二进制按位取反
    -- 前置、后置-- 后置先使用在--
    ++ 前置、后置++
    * 间接访问操作符(解引用操作符)
    () 强制类型转换
  • 关系操作符

pandas

Pandas

Pandas 是 Python 语言的一个扩展程序库,用于数据分析。

Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型用例。

Matplotlib

Matplotlib

Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。这里将会探索 matplotlib 的常见用法。

Numpy

NumPy(内置库)

是一个Python包全拼(‘Numeric Python’)

可执行一下运算

  • 数组的算术和逻辑运
  • 傅立叶变换和用于图形操作的例程算
  • 线性代数相关操作

数据类型(ndarray)

构造方法

1
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)

参数说明

image-20220404165047724

关键字

dot

使用dot来计算矩阵的内积

1
2
3
4
5
6
import numpy as np
x = np.array([[1,2],[3,4]])
y = np.array([[5,6],[7,8]])

print(x.dot(y))
print(dot(x,y))

image-20220409163348733

Sklearn

Sklearn

scikit-learn,又写作sklearn,是一个开源的基于python语言的机器学习工具包。它通过NumPy, SciPy和Matplotlib等python数值计算的库实现高效的算法应用,并且涵盖了几乎所有主流机器学习算法。

关键字

Python

关键字

enumerate

组合为:索引 元素

1
2
3
4
5
6
7
8
seq = ['one','two','three']
for i,element in enumerate(seq):
print(i,element)

结果:
0 one
1 two
2 three

Tensorflow常用函数

常用函数

1
2
3
tf.cast(张量名,dtype=数据类型) # 强制转换
tf.reduce_min(张量名) # 找最小值
tf.reduce_max(张量名) # 找最大值

axis 参数

如在一个二维张量中,可以通过调整axis的值来操找各个维度

axis=0时表示对跨行操作,axis=1时表示跨列操作

1
2
tf.reduce_mean(张量名,axis=操作轴) # 沿着指定张量求均值
tf.reduce_sum(张量名,axis=操作轴) # 沿指定维度求和

可训练标记Variable

1
tf.Variable(初始值) # 将变量标记为可训练的

四则运算

1
2
3
4
tf.add(张量1, 张量2) # 张量相加
tf.subtract(张量1, 张量2) # 张量相减
tf.multiply(张量1,张量2) # 张量相乘
tf.divide(张量1,张量2) # 张量消除

只有维度相同才可进行四则运算

平方、次方、开方

1
2
3
tf.square(张量名) # 计算张量平方
tf.pow(张量名,n次幂) # 幂次运算
tf.sqrt(张量名) # 开方运算

矩阵乘法

1
tf.matmul(矩阵1,矩阵2)

特征与标签配对

1
data = tf.data.Dataset.form_tensor_slices((输入特征,标签))

求导

某个函数对指定参数的求导运算

with结构记录计算过程,gradient求出张量梯度

1
2
with tf.GradientTape() as tape:
grad = tape.gradient(函数,对谁求导)

结果

GradientTape 可理解为“ 梯度流磁带”

在求导阶段:通过搜索 source node 到 target node 的路径,进而计算出偏微分

assign_sub

赋值操作,更新参数值并返回。

调用函数时,必须使用tf.Variable 定义变量w为可训练(可自更新)。

w.assign_sub(w要自减的内容)

1
2
3
w = tf.Variable(4)
w.assign_sub(1)
print(W)

tf.argmax

返回指定维度最大值元素的索引

1
2
3
4
5
6
import numpy as np
test = np.array([[1,2,3],[2,3,4],[5,4,3],[8,7,2]])
print(test)
print(tf.argmax(test,axis=0))
print(tf.argmax(test,axis=0))

![image-20220406160808636](周科任-第3周-学习笔记/image-20220406160808636.png)