- Tensorflow
- LeNet模型构建
- Model类、Sequential类 (参数layers,继承自Model)
- 第一层卷积类:
- filter #卷积核个数
- kernel_size #卷积核大小
- strides =(1,1) #步长
- padding = ‘valid’ #其他可选项:same,前者舍弃后者为补齐
- 第二层池化层:
- pool_size #必须设置
- strides = (1,1)
- padding = ‘valid’ #其他可选项:same,前者舍弃后者为补齐
- date_format = None
- AveragePooling2D(pool_size = (2,2),strides=(2,2),padding=‘same’)
- 第三层第四层(与第一第二层类似)
- 扁平化类:tf.keras.layers.Flatten()
- Dense全连接类
- Dense(units=120, activation=tf.nn.relu),
- Dense(units=84, activation=tf.nn.relu),
- Dense(units=10, activation=tf.nn.softmax)
- LeNet模型训练和预测
- 超参数的设置:epoch:训练轮数;batch_size:批大小;learning_rate:学习率
- 优化器:adam_optimizer = tf.optimizers.Adam(learning_rate)
- 损失函数设置:optimizers:优化器;loss:损失函数;metrics:评价
- 训练方法fit:x:训练数据;y:训练数据的标签;batch_size:批大小;epoch:训练遍数(轮数)
- 保存模型
- 模型预测:predict
- LeNet模型构建
- 操作系统
- 进程互斥的软件解决方案
- free:临界区空闲标志:true有进程在临界区false则无
- turn:谁进临界区的标志:true P进程进临界区false则Q
- pturn qturn初值都为false:
- P进临界区:pturn and not qturn
- Q进临界区:not pturn and qturn
- DEKKER算法,在方法三在引入turn变量
- PETERSON算法:解决互斥访问的问题,客服强制轮流法的缺点
- 进程互斥的硬件解决方案
- 中断屏蔽方法:“开关中断”指令
- 适用于操作系统本身、不适合用户进程
- 代价高
- 不适用于多处理器
- 简单高效
- “测试”并加锁指令:TSL指令:test and set lock
- “交换”指令:XCHG指令:exchange
- 自旋锁spin lock(多处理器)
- 中断屏蔽方法:“开关中断”指令
- 进程互斥的软件解决方案
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!