Anet Board定义:Arduino IDE支持Anet 3D打印机固件编译

需积分: 9 0 下载量 108 浏览量 更新于2024-11-27 收藏 46KB ZIP 举报
资源摘要信息:"anet-board是一个Arduino IDE的板定义扩展,它允许用户为Anet品牌的3D打印机编译固件。这个定义专门适用于Arduino IDE 1.8.x版本,并且可以用来编译如Marlin这样常用的固件。该板定义在SkyNet3D Marlin发行版中得到应用,同时它也支持用户从源代码独立构建Marlin固件。 为了使用anet-board板定义,用户需要将其文件夹复制到Arduino安装目录下的hardware文件夹中。文件夹名称为'anet',包含了必要的配置文件和驱动程序,使得Arduino IDE可以识别并为Anet打印机编译固件。 安装anet-board板定义的步骤较为简单。首先,用户需要从Arduino IDE的官方网站下载1.8.x版本的Arduino IDE,并按照默认选项完成安装。安装完成后,用户需要将包含anet-board定义的zip文件下载下来,这个文件可以从项目的GitHub页面通过“克隆或下载”按钮获得。 接下来,对于Windows操作系统,用户需要在资源管理器中定位到Arduino的安装目录下的Documents文件夹,打开并进入hardware子文件夹。如果在hardware文件夹内没有找到anet文件夹,用户需要自行创建。最后,打开下载的anet-board zip文件,并将其中的anet文件夹复制到Arduino\hardware目录下。 需要注意的是,标签"C"可能指代该资源需要具备一定基础的C语言知识。因为Arduino开发通常涉及到C或C++编程,而且Marlin固件本身就是用C++编写的。因此,用户至少需要对C语言有所了解,以便更好地理解和使用这个板定义扩展。 压缩包子文件的名称为anet-board-master,这是GitHub项目上当前活动分支(通常为master或main)的压缩包版本,它包含了最新修订的anet-board板定义文件。"

class PPO(object): def __init__(self): self.sess = tf.Session() self.tfs = tf.placeholder(tf.float32, [None, S_DIM], 'state') # critic with tf.variable_scope('critic'): l1 = tf.layers.dense(self.tfs, 100, tf.nn.relu) self.v = tf.layers.dense(l1, 1) self.tfdc_r = tf.placeholder(tf.float32, [None, 1], 'discounted_r') self.advantage = self.tfdc_r - self.v self.closs = tf.reduce_mean(tf.square(self.advantage)) self.ctrain_op = tf.train.AdamOptimizer(C_LR).minimize(self.closs) # actor pi, pi_params = self._build_anet('pi', trainable=True) oldpi, oldpi_params = self._build_anet('oldpi', trainable=False) with tf.variable_scope('sample_action'): self.sample_op = tf.squeeze(pi.sample(1), axis=0) # choosing action with tf.variable_scope('update_oldpi'): self.update_oldpi_op = [oldp.assign(p) for p, oldp in zip(pi_params, oldpi_params)] self.tfa = tf.placeholder(tf.float32, [None, A_DIM], 'action') self.tfadv = tf.placeholder(tf.float32, [None, 1], 'advantage') with tf.variable_scope('loss'): with tf.variable_scope('surrogate'): # ratio = tf.exp(pi.log_prob(self.tfa) - oldpi.log_prob(self.tfa)) ratio = pi.prob(self.tfa) / (oldpi.prob(self.tfa) + 1e-5) surr = ratio * self.tfadv if METHOD['name'] == 'kl_pen': self.tflam = tf.placeholder(tf.float32, None, 'lambda') kl = tf.distributions.kl_divergence(oldpi, pi) self.kl_mean = tf.reduce_mean(kl) self.aloss = -(tf.reduce_mean(surr - self.tflam * kl)) else: # clipping method, find this is better self.aloss = -tf.reduce_mean(tf.minimum( surr, tf.clip_by_value(ratio, 1.-METHOD['epsilon'], 1.+METHOD['epsilon'])*self.tfadv))

144 浏览量