File size: 3,190 Bytes
58044ba |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"c:\\Users\\harsh\\anaconda3\\envs\\transformmers\\lib\\site-packages\\tqdm\\auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
" from .autonotebook import tqdm as notebook_tqdm\n"
]
}
],
"source": [
"import torch\n",
"from PIL import Image\n",
"from transformers import AutoModel, AutoTokenizer"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Loading checkpoint shards: 100%|ββββββββββ| 2/2 [00:11<00:00, 5.61s/it]\n"
]
}
],
"source": [
"model = AutoModel.from_pretrained('MiniCPM', trust_remote_code=True, torch_dtype=torch.bfloat16)\n",
"# For Nvidia GPUs support BF16 (like A100, H100, RTX3090)\n",
"model = model.to(device='cuda', dtype=torch.bfloat16)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"tokenizer = AutoTokenizer.from_pretrained('MiniCPM-Tokenizer', trust_remote_code=True)\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The image depicts a breathtaking view of a rocky coastline. The rocky cliff, with its steep and rugged terrain, dominates the left side of the frame. The water, which is a shade of blue, is calm and stretches out to the right of the image. The coastline appears to be rocky and uneven, with a variety of shapes and sizes of rocks and boulders. The image also captures a glimpse of the sky, which is visible at the top of the frame.\n"
]
}
],
"source": [
"image = Image.open('demo2.jpg').convert('RGB')\n",
"question = 'What is in the image?'\n",
"msgs = [{'role': 'user', 'content': question}]\n",
"\n",
"res, context, _ = model.chat(\n",
" image=image,\n",
" msgs=msgs,\n",
" context=None,\n",
" tokenizer=tokenizer,\n",
" sampling=True,\n",
" temperature=0.7\n",
")\n",
"print(res)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "transformmers",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.19"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
|