val dp20 = resources.getDimensionPixelOffset(R.dimen.dp_20) drawableIndicator.apply { setIndicatorGap(resources.getDimensionPixelOffset(R.dimen.dp_2_5)) setIndicatorDrawable(R.drawable.heart_empty, R.drawable.heart_red) setIndicatorSize(dp20, dp20, dp20, dp20) setupWithViewPager(view_pager2) }转成java代码
时间: 2023-02-09 13:50:12 浏览: 113
int dp20 = getResources().getDimensionPixelOffset(R.dimen.dp_20);
drawableIndicator.apply {
setIndicatorGap(getResources().getDimensionPixelOffset(R.dimen.dp_2_5));
setIndicatorDrawable(R.drawable.heart_empty, R.drawable.heart_red);
setIndicatorSize(dp20, dp20, dp20, dp20);
setupWithViewPager(view_pager2);
}
相关问题
# 定义数据集路径和标签 data_dir = "D:/wjd" # 数据集路径 labels = ['Ag', 'Al', 'Au', 'Cu', 'W', 'V', 'Mo', 'Ta'] # 标签 # 将数据集按照 80% - 20% 的比例划分为训练集和验证集 train_dir = os.path.join(data_dir, 'train') val_dir = os.path.join(data_dir, 'val') if not os.path.exists(val_dir): os.makedirs(train_dir) os.makedirs(val_dir) # 遍历每个标签的文件夹 for label in labels: label_dir = os.path.join(data_dir, label) images = os.listdir(label_dir) random.shuffle(images) # 随机打乱图像顺序 # 划分训练集和验证集 split_index = int(0.8 * len(images)) train_images = images[:split_index] val_images = images[split_index:] # 将训练集和验证集图像复制到对应的文件夹中 for image in train_images: src_path = os.path.join(label_dir, image) dst_path = os.path.join(train_dir, label, image) os.makedirs(os.path.dirname(dst_path), exist_ok=True) # 确保目标文件夹存在 shutil.copy(src_path, dst_path) for image in val_images: src_path = os.path.join(label_dir, image) dst_path = os.path.join(val_dir, label, image) os.makedirs(os.path.dirname(dst_path), exist_ok=True) # 确保目标文件夹存在 shutil.copy(src_path, dst_path) #print("数据集已成功划分为训练集和验证集。") # 定义数据预处理 transform_train = transforms.Compose([ transforms.RandomCrop(224), transforms.RandomHorizontalFlip(), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]) transform_val = transforms.Compose([ transforms.CenterCrop(224), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]) # 定义数据集 train_data = datasets.ImageFolder(train_dir, transform=transform) val_data = datasets.ImageFolder(val_dir, transform=transform),这里出现了错误
这个错误发生在最后一行代码中,应该将 `transform` 改为 `transform_train` 或 `transform_val`,因为在定义数据集时需要指定数据的预处理方式,而这些预处理方式已经通过 `transform_train` 和 `transform_val` 变量进行定义。因此,你需要将最后一行代码修改为:
```
train_data = datasets.ImageFolder(train_dir, transform=transform_train)
val_data = datasets.ImageFolder(val_dir, transform=transform_val)
```
这样就可以正确地将预处理方式应用到数据集中。
解释下列代码package sparkML import org.apache.spark.ml.clustering.{KMeans, KMeansModel} import org.apache.spark.ml.feature.{HashingTF, IDF, Tokenizer} import org.apache.spark.sql.{DataFrame, SparkSession} object Kmeans { case class Product(id: String, wd: String, jd: String, sjc: String, jyje: String) def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .appName("TFIDF@2") .master("local[3]") .getOrCreate() import spark.implicits._ val product = spark.sparkContext.textFile("data/data.txt").map { x => val data = x.split(",") Product(data(0), data(1), data(2), data(3), data(4)) }.toDS().cache() product.createOrReplaceTempView("data") val products: DataFrame = spark.sql("select id, concat_ws(',',collect_set(jyje)) as jyje from data group by id") val productData = new Tokenizer().setInputCol("jyje").setOutputCol("productWords").transform(products) val tfData = new HashingTF().setNumFeatures(20).setInputCol("productWords").setOutputCol("productFeatures").transform(productData) val idfModel = new IDF().setInputCol("productFeatures").setOutputCol("features").fit(tfData) val idfData = idfModel.transform(tfData) val trainingData = idfData.select("id", "features") val kmeans = new KMeans() .setK(4) .setMaxIter(5) .setFeaturesCol("features") .setPredictionCol("prediction") val kmeansModel = kmeans.fit(trainingData) val kmeansData = kmeansModel.transform(trainingData) kmeansData.show() } }
这段代码是一个使用Spark ML库实现KMeans聚类算法的示例。代码中定义了一个名为Product的case class,表示一个产品的属性集合。代码中首先使用SparkContext的textFile方法读取数据文件,然后使用map方法将每行数据转换为Product对象,并转换成DataFrame格式。接着,使用Spark SQL对DataFrame进行分组和聚合操作,得到每个产品的交易金额数据。然后,使用Tokenizer和HashingTF对文本进行分词和特征提取,使用IDF对特征进行加权,得到最终的训练数据。最后,使用KMeans算法对训练数据进行聚类,并输出聚类结果。
阅读全文